[dgit import tarball libpng1.6 1.6.56-1+rpi1 libpng1.6_1.6.56-1+rpi1.debian.tar.xz]
--- /dev/null
+libpng1.6 (1.6.56-1+rpi1) forky-staging; urgency=medium
+
+ * Disable neon.
+
+ -- Peter Michael Green <plugwash@raspbian.org> Thu, 09 Apr 2026 17:51:00 +0000
+
+libpng1.6 (1.6.56-1) unstable; urgency=high
+
+ * New upstream release 1.6.56
+ - .CVE-2026-33416 - Use after free (Closes: #1132012)
+ - CVE-2026-33636 - OOB read/write (Closes: #1132013)
+
+ -- Tobias Frost <tobi@debian.org> Sun, 29 Mar 2026 08:36:13 +0200
+
+libpng1.6 (1.6.55-1) unstable; urgency=medium
+
+ * New upstream version 1.6.55
+ - CVE-2026-25646 (Closes: #1127566)
+ * Bump std-version to 4.7.3, no changes required
+ * Drop R^3: no, default now
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 12 Feb 2026 10:55:21 +0100
+
+libpng1.6 (1.6.54-1) unstable; urgency=medium
+
+ * New upstream version 1.6.54.
+ - CVE-2026-22695 - Heap buffer overread. Closes: #1125443
+ - CVE-2026-22801 - Heap buffer overread. Closes: #1125444
+ * Bump d/copyright years.
+
+ -- Tobias Frost <tobi@debian.org> Fri, 16 Jan 2026 08:49:40 +0100
+
+libpng1.6 (1.6.53-1) unstable; urgency=medium
+
+ * New upstream version 1.6.53.
+
+ -- Tobias Frost <tobi@debian.org> Sun, 07 Dec 2025 11:32:41 +0100
+
+libpng1.6 (1.6.52-1) unstable; urgency=medium
+
+ * New upstream versoin 1.6.52
+ - CVE-2025-66293 - Out of bound read (Closes: #1121877)
+
+ -- Tobias Frost <tobi@debian.org> Thu, 04 Dec 2025 06:24:43 +0100
+
+libpng1.6 (1.6.51-1) unstable; urgency=high
+
+ * New upstream version 1.6.51.
+ - CVE-2025-64505 - Heap buffer overflow. Closes: #1121219
+ - CVE-2025-64506 - Heap buffer overread. Closes: #1121218
+ - CVE-2025-64720 - Buffer overflow. Closes: #1121217
+ - CVE-2025-65018 - Heap buffer. Closes: #1121216
+ * Enable salsa-ci.
+ * Update d/copyright years, remove unused section.
+ * udeb: install library into usr/lib
+
+ -- Tobias Frost <tobi@debian.org> Mon, 24 Nov 2025 21:06:25 +0100
+
+libpng1.6 (1.6.50-1) unstable; urgency=medium
+
+ * Upload to sid
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 10 Aug 2025 18:09:08 +0200
+
+libpng1.6 (1.6.50-1~exp1) experimental; urgency=medium
+
+ * New upstream version 1.6.50
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 10 Aug 2025 18:08:25 +0200
+
+libpng1.6 (1.6.49-1~exp1) experimental; urgency=medium
+
+ * New upstream version 1.6.49
+ * Update copyright file
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 15 Jun 2025 11:32:25 +0200
+
+libpng1.6 (1.6.48-1) unstable; urgency=medium
+
+ * New upstream version 1.6.48
+ * Ack previous NMU, thanks a lot!
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 05 May 2025 21:11:18 +0200
+
+libpng1.6 (1.6.47-1.1) unstable; urgency=high
+
+ * Non-maintainer upload.
+ * Restore dh_makeshlibs override to fix missing udeb line in shlibs.
+ (Closes: #1100477)
+
+ -- Cyril Brulebois <kibi@debian.org> Fri, 14 Mar 2025 10:39:59 +0100
+
+libpng1.6 (1.6.47-1) unstable; urgency=medium
+
+ * New upstream version 1.6.47
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 21 Feb 2025 08:01:34 +0100
+
+libpng1.6 (1.6.46-4) unstable; urgency=medium
+
+ * Team upload.
+
+ [ Jeremy BĂcha ]
+ * Set dpkg-gensymbols check level to 4
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 01 Feb 2025 18:23:23 +0100
+
+libpng1.6 (1.6.46-3) unstable; urgency=medium
+
+ * Add a symbols file for easier maintenance of the package
+ and added symbols
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 01 Feb 2025 08:12:46 +0100
+
+libpng1.6 (1.6.46-2) unstable; urgency=medium
+
+ * Bump shlibs to 1.6.45 due to gtk4 test regression in cICP
+ https://gitlab.gnome.org/GNOME/gtk/-/issues/7275
+ (Closes: #1093335)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 31 Jan 2025 15:10:07 +0100
+
+libpng1.6 (1.6.46-1) unstable; urgency=medium
+
+ * New upstream version 1.6.46
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 27 Jan 2025 09:30:18 +0100
+
+libpng1.6 (1.6.45-1) unstable; urgency=medium
+
+ * New upstream version 1.6.45
+ * Refresh libpng-config.patch
+ * Update copyright years
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 08 Jan 2025 20:56:30 +0100
+
+libpng1.6 (1.6.44-3) unstable; urgency=medium
+
+ [ Gianfranco Costamagna ]
+ * Team upload
+
+ [ Helmut Grohne ]
+ * Disable VSX on legacy powerpc CPUs. (Closes: #1086389)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 10 Dec 2024 22:41:38 +0100
+
+libpng1.6 (1.6.44-2) unstable; urgency=low
+
+ * Switch packaging to cmake
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 17 Sep 2024 11:37:20 +0200
+
+libpng1.6 (1.6.44-1) unstable; urgency=medium
+
+ * New upstream version 1.6.44
+ * Update copyright file
+ * Bump std-version to 4.7.0
+ * Relax dependency on dpkg-dev, to ease backports
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 17 Sep 2024 09:56:14 +0200
+
+libpng1.6 (1.6.43-5) unstable; urgency=medium
+
+ * Fixup doc-base path (Closes: #1065063)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 28 Mar 2024 15:43:50 +0100
+
+libpng1.6 (1.6.43-4) unstable; urgency=medium
+
+ * Fixup udeb naming on shlibs file, making it installable again.
+ (Closes: #1066069)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 28 Mar 2024 12:38:28 +0100
+
+libpng1.6 (1.6.43-3) unstable; urgency=medium
+
+ * B-D on dpkg-dev (>= 1.22.5) (Closes: #1065259)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 02 Mar 2024 11:18:15 +0100
+
+libpng1.6 (1.6.43-2) unstable; urgency=medium
+
+ * Upload to sid
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 28 Feb 2024 12:12:53 +0100
+
+libpng1.6 (1.6.43-1exp1) experimental; urgency=medium
+
+ [ Steve Langasek ]
+ * Rename libraries for 64-bit time_t transition.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 26 Feb 2024 15:47:33 +0100
+
+libpng1.6 (1.6.43-1) unstable; urgency=medium
+
+ * New upstream version 1.6.43
+ * Add new license for contrib tool
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 26 Feb 2024 15:44:38 +0100
+
+libpng1.6 (1.6.42-1) unstable; urgency=medium
+
+ * New upstream version 1.6.42
+ * Update metadata location
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 30 Jan 2024 09:03:50 +0100
+
+libpng1.6 (1.6.41-1) unstable; urgency=medium
+
+ * New upstream version 1.6.41
+ * Bump copyright years
+ * Bump upstream copyright years
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 29 Jan 2024 17:49:45 +0100
+
+libpng1.6 (1.6.40-3) unstable; urgency=medium
+
+ * Update watch file for new github pnggroup location.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 03 Jan 2024 01:37:41 +0100
+
+libpng1.6 (1.6.40-2) unstable; urgency=medium
+
+ * bump std-version to 4.6.2
+ * Bump copyright years
+
+ [ Mathieu Malaterre ]
+ * Drop revision from symbols file (Closes: #1053753)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 10 Oct 2023 17:54:45 +0200
+
+libpng1.6 (1.6.40-1) unstable; urgency=medium
+
+ * New upstream version 1.6.40
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 24 Jun 2023 23:08:19 +0200
+
+libpng1.6 (1.6.39-2) unstable; urgency=medium
+
+ [ Helmut Grohne ]
+ * Support the noudeb build profile. (Closes: #1024944)
+
+ [ Gianfranco Costamagna ]
+ * Upload to sid
+
+ -- Helmut Grohne <helmut@subdivi.de> Sun, 27 Nov 2022 20:59:26 +0100
+
+libpng1.6 (1.6.39-1) unstable; urgency=medium
+
+ * New upstream version 1.6.39. Fixes CVE-2019-6129.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 26 Nov 2022 15:21:15 +0100
+
+libpng1.6 (1.6.38-2) unstable; urgency=medium
+
+ * Add manpages to build
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 21 Sep 2022 14:46:45 +0200
+
+libpng1.6 (1.6.38-1) unstable; urgency=medium
+
+ * New upstream version 1.6.38
+ * Drop all patches, now upstream
+ * Refactor copyright file and bump copyright years
+ * Drop as-needed flag, now default
+ * Add not-installed file
+ * Move installexamples to libpng-dev.examples file
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 21 Sep 2022 12:36:17 +0200
+
+libpng1.6 (1.6.37-5) unstable; urgency=medium
+
+ * debian/patches/eb6767273a4eb5d6f4ad528370d7262cf7aa220c.patch:
+ - cherry-pick upstream fix for memory lieak in png_handle_eXIf function
+ (LP: #1960326)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 25 Apr 2022 19:29:57 +0200
+
+libpng1.6 (1.6.37-4) unstable; urgency=medium
+
+ * Drop apng support, seems to break chromium ability to open
+ apng files (Closes: #1005850).
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 22 Apr 2022 18:48:37 +0200
+
+libpng1.6 (1.6.37-3) unstable; urgency=medium
+
+ [ Debian Janitor ]
+ * Wrap long lines in changelog entries: 1.2.5-5.
+
+ [ Gianfranco Costamagna ]
+ * debian/patches/326.patch:
+ - add upstream proposed patch to fix a decode fail with invalid eXIf
+ chunks (Closes: #969502)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 16 Sep 2020 08:02:32 +0200
+
+libpng1.6 (1.6.37-2) unstable; urgency=medium
+
+ [ Debian Janitor ]
+ * Set upstream metadata fields: Bug-Database, Repository, Repository-
+ Browse.
+ * Rely on pre-initialized dpkg-architecture variables.
+ * Fix day-of-week for changelog entry 1.0.0-0.1.
+ * Set upstream metadata fields: Bug-Submit.
+
+ [ Gianfranco Costamagna ]
+ * Bump std-version to 4.5.0, no changes required
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 07 Feb 2020 20:00:13 +0100
+
+libpng1.6 (1.6.37-1) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 02 Jul 2019 09:38:43 +0200
+
+libpng1.6 (1.6.37-1~exp4) experimental; urgency=medium
+
+ * debian/patches/72fa126446460347a504f3d9b90f24aed1365595.patch:
+ - cherry-pick upstream possible fix for tests not being parallel-safe
+ (Closes: #920657)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 23 Apr 2019 18:04:43 +0200
+
+libpng1.6 (1.6.37-1~exp3) experimental; urgency=medium
+
+ * Fix two lintian warnings:
+ - drop upstream signing key, upstream seems to have stopped tarball
+ signatures when moved to github (see upstream issue: #287)
+ - double "version" tag in debian/watch
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 23 Apr 2019 13:15:04 +0200
+
+libpng1.6 (1.6.37-1~exp2) experimental; urgency=medium
+
+ * Simplify tests, by not passing the .libs directory during their
+ execution
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 15 Apr 2019 12:34:29 +0200
+
+libpng1.6 (1.6.37-1~exp1) experimental; urgency=medium
+
+ * New upstream version 1.6.37
+ - upload to experimental because of freeze
+ * Update watch file for github publish site
+ * Update copyright years and text for pngminus
+ * Drop all upstream patches, patch refresh for apng patch
+ * Bump compat level to 12
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 15 Apr 2019 10:36:39 +0200
+
+libpng1.6 (1.6.36-6) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 08 Apr 2019 10:55:25 +0200
+
+libpng1.6 (1.6.36-5exp1) experimental; urgency=medium
+
+ * Drop Anibal from uploaders list,
+ thank you for your nice work! (Closes: #925014)
+ * Update copyright years.
+ * Drop patch 272.patch, superseeded by upstream commits:
+ 70d122aac42933ab8a708c538f973c3307853212.patch (uncommented)
+ 82ae623ec9bc3cb5c68aad22596a766e86d593b7.patch
+ a627bd26a375f5c41d54f90a47c838157d1bec97.patch
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 20 Mar 2019 11:58:35 +0100
+
+libpng1.6 (1.6.36-5) unstable; urgency=medium
+
+ * Tweak old 272 patch to add the only relevant part of commit
+ 70d122aac42933ab8a708c538f973c3307853212.patch
+ * Drop 70d122aac42933ab8a708c538f973c3307853212.patch, it breaks the
+ testsuite.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 05 Feb 2019 12:54:50 +0100
+
+libpng1.6 (1.6.36-4) unstable; urgency=high
+
+ * debian/patches/70d122aac42933ab8a708c538f973c3307853212.patch,
+ debian/patches/8439534daa1d3a5705ba92e653eda9251246dd61.patch:
+ - new fixes for arm64 and general test failures (and leaks)
+ * debian/patches/CVE-2019-7317.patch:
+ - fix for CVE 2019-7317 (Closes: #921355)
+ Thanks Salvatore Bonaccorso for your report!
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 05 Feb 2019 11:43:24 +0100
+
+libpng1.6 (1.6.36-3) unstable; urgency=medium
+
+ * debian/patches/272.patch:
+ - upstream fix for arm64 test failures.
+ - drop previous revert-* patches
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 31 Dec 2018 09:24:07 +0100
+
+libpng1.6 (1.6.36-2) unstable; urgency=medium
+
+ * Update watch file for github location
+ * Add apng support, like what is done in arch linux
+ - https://github.com/glennrp/libpng/issues/267
+ * d/p/revert-{7734cda20cf1236aef60f3bbd2267c97bbb40869,
+ 1ceaa83a844cd3ecef25279d60720f910b96f297,
+ b66ed711315c46ef6c556c83c0074ecdcbd9937f}.patch:
+ revert on arm64 only the chromebook optimizations, they are
+ making the build fail.
+ - discussion at https://github.com/glennrp/libpng/issues/266
+ [ Mattia Rizzolo ]
+ * Fixup std-version numbering
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 28 Dec 2018 14:13:52 +0100
+
+libpng1.6 (1.6.36-1) unstable; urgency=medium
+
+ * New upstream version 1.6.36
+ * update copyright file
+ * Bump std-version to 4.3.0.1, no changes required
+ * drop patch 8a057: upstream
+ * Add nocheck profile in rules file
+
+ [ Ondřej Nový <onovy@debian.org> ]
+ * d/changelog: Remove trailing whitespaces
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 27 Dec 2018 13:47:10 +0100
+
+libpng1.6 (1.6.34-2) unstable; urgency=medium
+
+ [ Salvatore Bonaccorso ]
+ * debian/patches/8a05766cb74af05c04c53e6c9d60c13fc4d59bf2.patch:
+ Closes: #903430
+ CVE-2018-13785
+
+ [ Gianfranco Costamagna ]
+ * Upload to unstable
+ * Switch VCS fields to salsa.d.o
+ * Bump std-version to 4.1.5, no changes required
+ * Switch copyright in https mode
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 10 Jul 2018 13:17:30 +0200
+
+libpng1.6 (1.6.34-1) unstable; urgency=medium
+
+ * New upstream version 1.6.34
+ * Remove files removed upstream (the failing png files)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 29 Sep 2017 18:54:51 +0200
+
+libpng1.6 (1.6.33-1) unstable; urgency=medium
+
+ * New upstream version 1.6.33
+ * Drop idat patch: upstream
+ * Update copyright
+ * Bump std-version to 4.1.1
+ * Remove some new test png files that make testsuite fail
+ (they fail also on older libpng version, just they weren't available
+ status is tracked at https://sourceforge.net/p/libpng/bugs/271/ )
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 29 Sep 2017 08:44:54 +0200
+
+libpng1.6 (1.6.32-3) unstable; urgency=high
+
+ * Fix invalid IDAT images, thanks Felix Geyer for the debug/bug reassign!
+ (Closes: #876563)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 26 Sep 2017 10:15:08 +0200
+
+libpng1.6 (1.6.32-2) unstable; urgency=medium
+
+ * Bump std-version to 4.1.0, now priority is extra
+ * Add missing newline on copyright entry, making lintian sad
+ * Move the examples into the main libpng-dev (Closes: #876244)
+ - thanks Helmut Grohne for the useful bug report!
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 17 Sep 2017 10:37:44 +0200
+
+libpng1.6 (1.6.32-1) unstable; urgency=medium
+
+ * New upstream version 1.6.32
+ * Update copyright file
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 26 Aug 2017 23:43:31 +0200
+
+libpng1.6 (1.6.31-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Update d/watch to point to ftp site and to verify gpg signature.
+ * fix-arm-build.patch removed, fixed upstream.
+ * Update d/copyright (years and add new maintainers) and remove some
+ redudant entries.
+
+ -- Tobias Frost <tobi@debian.org> Fri, 04 Aug 2017 07:10:47 +0200
+
+libpng1.6 (1.6.30-2) unstable; urgency=medium
+
+ * Fix arm* build failures with upstream patch
+ (Closes: #867670)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 09 Jul 2017 01:02:17 +0200
+
+libpng1.6 (1.6.30-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Update copyright
+ * Bump std-version to 4.0.0
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 08 Jul 2017 12:52:44 +0200
+
+libpng1.6 (1.6.29-3) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 12 Jun 2017 11:22:51 +0200
+
+libpng1.6 (1.6.29-2) experimental; urgency=medium
+
+ * Enable PIE eveywhere
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 22 Apr 2017 14:46:34 +0200
+
+libpng1.6 (1.6.29-1) experimental; urgency=medium
+
+ * New upstream release.
+ - Drop fix multiarch patch: upstream
+ * Use autoreconf.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 10 Apr 2017 08:39:26 +0200
+
+libpng1.6 (1.6.28-1exp4) experimental; urgency=medium
+
+ * Override autoreconf due to debhelper bug 844504
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 02 Mar 2017 16:29:47 +0100
+
+libpng1.6 (1.6.28-1exp3) experimental; urgency=medium
+
+ * No-autoreconf for cmake builds
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 02 Mar 2017 16:14:47 +0100
+
+libpng1.6 (1.6.28-1exp2) experimental; urgency=medium
+
+ * Readd multiarch patch, it was merged by
+ upstream on master but not on 1.6 branch
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 02 Mar 2017 15:07:10 +0100
+
+libpng1.6 (1.6.28-1exp1) experimental; urgency=medium
+
+ * Switch to cmake
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 09 Jan 2017 19:53:06 +0100
+
+libpng1.6 (1.6.28-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 09 Jan 2017 19:50:31 +0100
+
+libpng1.6 (1.6.27-1) unstable; urgency=medium
+
+ * New upstream release (Closes: #849799)
+ - Fix for CVE-2016-10087
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 31 Dec 2016 08:51:32 +0100
+
+libpng1.6 (1.6.26-6) unstable; urgency=medium
+
+ * Enable pie in Debian, disable it in Ubuntu.
+ - thanks pochu :)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 08 Dec 2016 17:03:30 +0100
+
+libpng1.6 (1.6.26-5) unstable; urgency=medium
+
+ * Revert cmake switch, failing on arm64.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 07 Dec 2016 08:41:24 +0100
+
+libpng1.6 (1.6.26-4) unstable; urgency=low
+
+ * Upload to unstable.
+ * Disable pie where Ubuntu has not defaulted yet.
+ (armhf, arm64, powerpc)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 15 Nov 2016 20:50:40 +0100
+
+libpng1.6 (1.6.26-3) experimental; urgency=medium
+
+ * Switch to cmake.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 15 Nov 2016 20:50:40 +0100
+
+libpng1.6 (1.6.26-2) unstable; urgency=medium
+
+ * Enable full hardening (+pie) (Closes: #844429)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 15 Nov 2016 18:10:16 +0100
+
+libpng1.6 (1.6.26-1) unstable; urgency=low
+
+ * New upstream release.
+ * Switch to compat level 10
+ - Drop autoreconf/parallel, automatically injected
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 24 Oct 2016 19:36:32 +0200
+
+libpng1.6 (1.6.25-2) unstable; urgency=medium
+
+ * Mark the -tools package Multi-Arch: foreign.
+ (Closes: #840446).
+ Thanks Francois Gourget for the bug report!
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 11 Oct 2016 19:13:50 +0200
+
+libpng1.6 (1.6.25-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 06 Sep 2016 12:29:51 +0200
+
+libpng1.6 (1.6.24-2) unstable; urgency=medium
+
+ * Stop providing pngcp, because a tool with the same
+ name is provided by pngtools (Closes: #834119, #834118).
+ - Consider re-enabling it if ineeded, but for now the
+ tool has no manpage and no help command.
+ - An alternative might be to make pngtools and libpng-tools
+ conflict each others.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 12 Aug 2016 10:35:50 +0200
+
+libpng1.6 (1.6.24-1) unstable; urgency=medium
+
+ * New upstream release.
+ - install also new pngcp tool in libpng-tools package.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 11 Aug 2016 23:14:13 +0200
+
+libpng1.6 (1.6.23-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 15 Jun 2016 16:41:46 +0200
+
+libpng1.6 (1.6.22-1) unstable; urgency=medium
+
+ * New upstream release.
+ - drop fix_define_PNG_READ_16_TO_8.patch: upstream
+ * Update copyright file.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 05 Jun 2016 23:41:22 +0200
+
+libpng1.6 (1.6.21-5) unstable; urgency=medium
+
+ * d/control: Add VCS-* to repository on collab-maint.
+ * Add patch to properly define PNG_READ_16_TO_8_SUPPORTED (Closes: #824014)
+ * Add d/gbp.conf to ensure signed tags.
+
+ -- Tobias Frost <tobi@debian.org> Wed, 11 May 2016 19:30:16 +0200
+
+libpng1.6 (1.6.21-4) unstable; urgency=medium
+
+ * add libpng-config.patch from the old
+ src:libpng.
+ - disabling multiarch bits in libpng-config has
+ the "side-effect" to let us have a Multiarch libpng-dev package.
+ Closes: #822297
+ * Make the libpng-dev package Multiarch ready.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 23 Apr 2016 09:04:06 +0200
+
+libpng1.6 (1.6.21-3) unstable; urgency=medium
+
+ [ Manuel A. Fernandez Montecelo ]
+ * Add hardening flags (excluding PIE. CLoses: #805822)
+
+ [ Gianfranco Costamagna ]
+ * Drop useless pre-depends line.
+
+ [ Bart Martens ]
+ * Fix watch file
+
+ [ Laurent Bigonville ]
+ * Drop useless packages in Replaces field. (Closes: #820887)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 13 Apr 2016 08:49:30 +0200
+
+libpng1.6 (1.6.21-2) unstable; urgency=medium
+
+ * Upload to unstable.
+ * Add myself and Tobias to uploaders, as per maintainers
+ suggestion.
+ * Bump std-version to 3.9.8, no changes required.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 06 Apr 2016 17:26:38 +0200
+
+libpng1.6 (1.6.21-1) experimental; urgency=medium
+
+ * Team upload.
+ * New upstream release.
+ * Add upstream signing key
+ * Fix watch file.
+ * Update copyright file.
+ * Drop libpng16-devtools, useless and merged in libpng-dev.
+ (many packages relies on that script for building correctly)
+ - breaks + replaces accordingly.
+ * Remove multiarch -dev package
+ * Rename libpng16-tools to libpng-tools, there is no need of
+ strict versioning here.
+ * Install upstream changelog.
+ * Run upstream testsuite.
+ * Remove README.* files, useless now.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 31 Mar 2016 14:43:03 +0200
+
+libpng1.6 (1.6.20-3) experimental; urgency=medium
+
+ * Team upload
+ * Move libpng16-dev to libpng-dev, to ease next transitions.
+ * Drop conflicts against mzscheme, pngcrush, pngmeta,
+ povray-3.5, qemacs, some of them disappeared, some of
+ them have later versions already in old-oldstable.
+ * Simplify even more the packaging, probably fixing #813288
+ * Fix symlinks, and two lintian errors:
+ - library-in-root-and-usr
+ - old-style-config-script-multiarch-path
+ (multiarch: no for libpng16-devtools)
+ * Update standard-version to 3.9.7, no changes required.
+ * Switch to dh-autoreconf (Closes: #813027)
+ * Remove libpng16-devtools circular dependency, recommend it instead.
+ * Fix duplicate description lintian warning
+ * Fix copyright lintian warnings
+ * Remove copyright.in file
+ * Use new plain dh calls in rules file
+ * Remove some old lintian overrides.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 16 Mar 2016 17:05:08 +0100
+
+libpng1.6 (1.6.20-2) experimental; urgency=medium
+
+ [ Tobias Frost ]
+ * libpng16-16-udeb should not Conflicts: libpng-12-0.
+
+ [ Anibal Monsalve Salazar ]
+ * debhelper compat version is 9.
+ * debian/control: libpng16-devtools is "Multi-Arch: same".
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 28 Jan 2016 10:33:54 +0000
+
+libpng1.6 (1.6.20-1.1) experimental; urgency=medium
+
+ * Non-maintainer upload.
+ * Preparation for the transition, going to experimental.
+ * Make libpng16-dev depend on libpng16-devtools to have libpng-config
+ pulled in automatically for reverse dependencies.
+ * Provide a so-name neutral devtools package
+
+ -- Tobias Frost <tobi@debian.org> Sun, 24 Jan 2016 11:26:12 +0100
+
+libpng1.6 (1.6.20-1) experimental; urgency=medium
+
+ * New upstream release.
+ Fix CVE-2015-8472.
+ Closes: #810074.
+ * Use default options to compress.
+ Remove debian/source/options.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 07 Jan 2016 23:35:21 +0000
+
+libpng1.6 (1.6.19-1) experimental; urgency=medium
+
+ * New upstream release.
+ * Update lintian-overrides for 1.6.19.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 18 Nov 2015 13:07:21 +0900
+
+libpng1.6 (1.6.16-1) experimental; urgency=medium
+
+ * New upstream release (Closes: #773823)
+ Fix CVE-2015-8540.
+ * Standards Version is 3.9.6.
+ * Update debian/copyright.
+ Add infomation of license for other all files.
+ * Update lintian-overrides for 1.6.16.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Sat, 07 Mar 2015 18:33:32 +0900
+
+libpng1.6 (1.6.10-2) experimental; urgency=low
+
+ * Add libpng16-devtools package.
+ Move libpng-config to this package.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 02 Apr 2014 09:16:13 +0900
+
+libpng1.6 (1.6.10-1) experimental; urgency=low
+
+ * New upstream release (Closes: #740585)
+ Fixed CVE-2014-0333.
+ * Update overrides files.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Sat, 22 Mar 2014 09:58:12 +0900
+
+libpng1.6 (1.6.8-2) experimental; urgency=low
+
+ * Update debian/copyright. (Closes: #735737)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 21 Jan 2014 08:59:56 +0900
+
+libpng1.6 (1.6.8-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 15 Jan 2014 13:10:28 +0900
+
+libpng1.6 (1.6.7-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 14 Jan 2014 15:21:52 +0900
+
+libpng (1.5.11-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 05 Jul 2012 13:18:14 +0900
+
+libpng (1.5.10-3) experimental; urgency=low
+
+ * Remove libpng12-dev binary package. libpng-dev provides and replaces
+ libpng12-dev.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 19 May 2012 18:55:25 +1000
+
+libpng (1.5.10-2) experimental; urgency=low
+
+ * Add transition packages libpng3, libpng12-0 and libpng12-dev
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Fri, 18 May 2012 10:09:24 +1000
+
+libpng (1.5.10-1) experimental; urgency=high
+
+ * New upstream version 1.5.10
+ - Fix CVE-2011-3048 (memory corruption flaw)
+ Closes: 667475
+ * Standards Version is 3.9.3
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Mon, 09 Apr 2012 13:29:39 +1000
+
+libpng (1.5.9-1) experimental; urgency=low
+
+ * New upstream version 1.5.9
+
+ The purpose of this release is to fix the dangerous CVE-2011-3026.
+ The libpng patch is different from the one that was distributed
+ earlier by Chromium, in that the libpng user limit feature is not
+ crippled by the patch.
+
+ Remove 02-660026-CVE-2011-3026.patch
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 19 Feb 2012 12:22:43 +1100
+
+libpng (1.5.8-1) experimental; urgency=high
+
+ * New upstream release.
+ Fix a one-byte (stack) buffer-overrun bug in
+ png_formatted_warning(), which could lead to crashes (denial of
+ service) or, conceivably, execution of hostile code.
+ This vulnerability has been assigned ID CVE-2011-3464.
+ * Check for both truncation (64-bit platforms) and integer overflow
+ Fix CVE-2011-3026
+ Add 02-660026-CVE-2011-3026.patch
+ Closes: 660026
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 16 Feb 2012 09:18:13 +1100
+
+libpng (1.5.7-2) experimental; urgency=low
+
+ * Fix typo from PPFLAGS to CPPFLAGS.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 09 Jan 2012 21:39:33 +0900
+
+libpng (1.5.7-1) experimental; urgency=low
+
+ * New upstream release.
+ * Update debian/rules.
+ Enabled hardened build flags. (Closes: #654149)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 09 Jan 2012 21:02:50 +0900
+
+libpng (1.5.6-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 07 Nov 2011 12:35:59 +0900
+
+libpng (1.5.5-1) experimental; urgency=low
+
+ * New upstream release.
+ * Fix lintian error: udeb-uses-non-gzip-data-tarball.
+ Changed option of dh_builddeb for every package.
+ * Fix lintian warning: brace-expansion-in-debhelper-config-file.
+ Remove brace-expansion from debian/libpng-dev.install.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 26 Oct 2011 12:35:05 +0900
+
+libpng (1.5.4-2) experimental; urgency=low
+
+ * Port Steve Langasek's changes for 1.2.46-1
+ - Build for multiarch. Closes: 634151
+ - Drop debian/libpng15-15-udeb.dirs, which just adds a pointless empty
+ directory to the udeb
+ * Update debian/docs and debian/libpng15-15.docs
+ * Add debian/libpng15-15.doc-base
+ * Build-Depend on autotools-dev
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Tue, 19 Jul 2011 00:49:57 +1000
+
+libpng (1.2.46-2) unstable; urgency=low
+
+ [ Steve Langasek ]
+ * Build for multiarch. Requires converting libpng3 from Arch: all to
+ Arch: any. Closes: 634151
+ * Drop debian/libpng12-0-udeb.dirs, which just adds a pointless empty
+ directory to the udeb.
+
+ [ Anibal Monsalve Salazar ]
+ * Fix doc-base file
+ Closes: 633944, 633957, 634120
+ * Pass "-Zbzip2 -z9" to dpkg-deb
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Mon, 18 Jul 2011 23:38:25 +1000
+
+libpng (1.5.4-1) experimental; urgency=low
+
+ * New upstream release (Closes: #633871).
+ - Fix CVE: CVE-2011-2690
+ Buffer overwrite in png_rgb_to_gray
+ - CVE: CVE-2011-2691
+ Crash in png_default_error due to use of NULL Pointer
+ - CVE: CVE-2011-2692
+ Memory corruption when handling empty sCAL chunks
+ - Remove patches/02-632786-CVE-2011-2501.patch. Applied to upstream.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 15 Jul 2011 12:01:42 +0900
+
+libpng (1.2.46-1) unstable; urgency=high
+
+ * New upstream release (Closes: #633871).
+ - Fix CVE: CVE-2011-2690
+ Buffer overwrite in png_rgb_to_gray
+ - CVE: CVE-2011-2691
+ Crash in png_default_error due to use of NULL Pointer
+ - CVE: CVE-2011-2692
+ Memory corruption when handling empty sCAL chunks
+ - Update patches/01-legacy.patch
+ - Remove patches/02-632786-CVE-2011-2501.patch. Applied to upstream.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 15 Jul 2011 11:47:49 +0900
+
+libpng (1.5.2-3) experimental; urgency=low
+
+ * Rename libpng15-dev to libpng-dev
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 06 Jul 2011 13:14:03 +1000
+
+libpng (1.5.2-2) experimental; urgency=low
+
+ * Fix 1-byte uninitialized memory reference in png_format_buffer()
+ Fix CVE-2011-2501
+ Add debian/patches/02-632786-CVE-2011-2501.patch
+ Closes: 632786
+ * Pass "-Zbzip2 -z9" to dpkg-deb
+ * Fix xc-package-type-in-debian-control
+ * Fix debian-rules-missing-recommended-target
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 06 Jul 2011 11:27:05 +1000
+
+libpng (1.2.44-3) unstable; urgency=high
+
+ * Fix 1-byte uninitialized memory reference in png_format_buffer()
+ Fix CVE-2011-2501
+ Add debian/patches/02-632786-CVE-2011-2501.patch
+ Closes: 632786
+ * Standards version is 3.9.2
+ * Fix xc-package-type-in-debian-control
+ * Fix debian-rules-missing-recommended-target
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 06 Jul 2011 10:04:32 +1000
+
+libpng (1.5.2-1) experimental; urgency=low
+
+ * New upstream release (Closes: #565821, #574257, #606867).
+ * Remove Sam Hocevar from Uploaders.
+ * Add myself to Uploaders.
+ * Remove libtool, automake and autoconf from Build-depends.
+ * Disable practice of autogen.sh from debian/rules.
+ * Remove support libpng3 package (Closes: #369104, #615558).
+ * Update debian/copyright.
+ - Update copyright holder.
+ - Add new license for contrib/pngsuite (Closes: #615558).
+ * Remove patches directory.
+ * Add libpng15-dev.lintian-overrides.
+ Overrides manpage-has-errors-from-man usr/share/man/man3/libpng.3.gz.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 09 Jun 2011 21:37:11 +0900
+
+libpng (1.2.44-2) unstable; urgency=low
+
+ * debian/libpng3.links: fix up the compat symlink to point to /lib
+ Patch by Steve Langasek
+ Closes: #579074, LP: #284325
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 13 Mar 2011 14:40:33 +1100
+
+libpng (1.2.44-1) unstable; urgency=low
+
+ * New upstream release
+ Stop memory leak when reading a malformed sCAL chunk
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 26 Jun 2010 13:32:43 +1000
+
+libpng (1.2.43-1) unstable; urgency=high
+
+ * New upstream release
+ * Fix CVE-2010-0205 and Cert VU#576029
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0205
+ https://www.kb.cert.org/vuls/id/576029
+ Do not stall and consume large quantities of memory while processing
+ certain Portable Network Graphics (PNG) files
+ Closes: 572308
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 03 Mar 2010 16:44:47 +1100
+
+libpng (1.2.42-2) unstable; urgency=low
+
+ * Merge 1.2.42-1ubuntu1
+ Move libpng from /usr/lib to /lib, so that plymouth is usable on
+ systems with a separate /usr.
+ * Fix out-of-date-standards-version
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 14 Feb 2010 13:09:51 +1100
+
+libpng (1.2.42-1ubuntu1) lucid; urgency=low
+
+ * Merge from Debian testing. Remaining changes:
+ - Move libpng from /usr/lib to /lib, so that plymouth is usable on
+ systems with a separate /usr.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 28 Jan 2010 11:57:34 +0000
+
+libpng (1.2.42-1) unstable; urgency=low
+
+ * New upstream release
+ * Remove 02-export-png_set_strip_error_numbers.patch (merged)
+ * Fix debhelper-but-no-misc-depends
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 16 Jan 2010 17:53:14 +1100
+
+libpng (1.2.41-1ubuntu1) lucid; urgency=low
+
+ * Move libpng from /usr/lib to /lib, so that plymouth is usable on systems
+ with a separate /usr.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com> Mon, 25 Jan 2010 00:18:15 -0800
+
+libpng (1.2.41-1) unstable; urgency=low
+
+ * New upstream release
+ * Debian source format is 3.0 (quilt)
+ * Update debian/watch
+ * Add 02-export-png_set_strip_error_numbers.patch
+ Define PNG_ERROR_NUMBERS_SUPPORTED
+ Upstream doesn't define PNG_ERROR_NUMBERS_SUPPORTED since 1.2.41. As
+ a consecuence, the symbol png_set_strip_error_numbe@@PNG12_0 wasn't
+ exported.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Fri, 04 Dec 2009 11:23:50 +1100
+
+libpng (1.2.40-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 07 Oct 2009 12:44:09 +1100
+
+libpng (1.2.39-1) unstable; urgency=low
+
+ * New upstream release
+ * Fix out-of-date-standards-version
+ * Fix patch-system-but-no-source-readme
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 20 Aug 2009 14:57:46 +1000
+
+libpng (1.2.38-1) unstable; urgency=low
+
+ * New upstream release
+ * Fix out-of-date-standards-version
+ * Update upstream homepage
+ Closes: 536474
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 18 Jul 2009 05:44:23 +1000
+
+libpng (1.2.37-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 04 Jun 2009 23:03:58 +1000
+
+libpng (1.2.36-1) unstable; urgency=low
+
+ * New upstream release
+ * Standards-Version is 3.8.1
+ * debhelper compat is 7
+ * Run dh_prep instead of dh_clean -k
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Fri, 22 May 2009 09:11:26 +1000
+
+libpng (1.2.35-1) unstable; urgency=high
+
+ * New upstream release
+ - http://secunia.com/advisories/33970/
+ Fix a vulnerability reported by Tavis Ormandy in which
+ some arrays of pointers are not initialized prior to using
+ "malloc" to define the pointers.
+ Closes: #516256
+ - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5907
+ The png_check_keyword function in pngwutil.c in libpng, might
+ allow context-dependent attackers to set the value of an
+ arbitrary memory location to zero via vectors involving
+ creation of crafted PNG files with keywords, related to an
+ implicit cast of the '\0' character constant to a NULL pointer.
+ * Don't build libpng3 when binary-indep target is not called.
+ Closes: #486415
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 21 Feb 2009 15:50:52 +1100
+
+libpng (1.2.33-2) unstable; urgency=low
+
+ * Fix the following lintian issues:
+ W: libpng12-0: copyright-refers-to-versionless-license-file
+ usr/share/common-licenses/GPL
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Mon, 16 Feb 2009 11:32:17 +1100
+
+libpng (1.2.33-1) experimental; urgency=low
+
+ * New upstream release
+ - Fix memory leak after reading a malformed tEXt chunk
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 01 Nov 2008 17:21:56 +1100
+
+libpng (1.2.32-1) experimental; urgency=low
+
+ * New upstream release
+ - libpng.pc is configured to do static linking; closes: #483477
+ - use autoconf variables in .pc and libpng-config; closes: #483478
+ * Remove debian/patches/02-501109-pngtest.c.diff; it was merged
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 05 Oct 2008 08:20:20 +1100
+
+libpng (1.2.27-2) unstable; urgency=medium
+
+ * Fix CVE-2008-3964: off-by-one error in pngtest.c; closes: #501109
+ * Standards-Version is 3.8.0
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 04 Oct 2008 19:45:17 +1000
+
+libpng (1.2.27-1) unstable; urgency=low
+
+ * New upstream release
+ * Patches merged upstream:
+ debian/patches/02-476669-CVE-2008-1382.diff
+ debian/patches/03-404514-png.5.diff
+ * Run ./autogen.sh
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Tue, 29 Apr 2008 17:22:16 +1000
+
+libpng (1.2.26-1) unstable; urgency=high
+
+ * New upstream release. Closes: #431202
+ * Use quilt
+ Add 01-legacy.diff
+ * Fix CVE-2008-1382 denial of service and possibly code execution
+ Add 02-476669-CVE-2008-1382.diff
+ Closes: #476669
+ * Fix URL in png.5. Closes: #404514
+ Add 03-404514-png.5.diff
+ * Move examples to libpng12-dev. Closes: #401467
+ * Fix "libpng (<= 1.2.20) contains grey-licensed code". Closes: #469126
+ * Fix the following lintian issues:
+ W: libpng source: debian-rules-ignores-make-clean-error line 37
+ W: libpng source: substvar-source-version-is-deprecated libpng12-dev
+ W: libpng source: out-of-date-standards-version 3.7.2 (current is 3.7.3)
+ W: libpng12-0-udeb udeb: description-contains-homepage
+ W: libpng3: description-contains-homepage
+ W: libpng12-dev: description-contains-homepage
+ W: libpng12-0: package-contains-empty-directory usr/bin/
+ W: libpng12-0: package-contains-empty-directory usr/sbin/
+ W: libpng12-0: description-contains-homepage
+ W: libpng12-0: doc-base-unknown-section libpng12:22 Apps/Programming
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 20 Apr 2008 18:22:32 +1000
+
+libpng (1.2.15~beta5-3) unstable; urgency=high
+
+ * ACKed NMU.
+ * Fixed out-of-bounds read operations triggered by crafted
+ png image files (CVE-2007-5269) (Closes: #446308).
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 14 Oct 2007 09:55:00 +1000
+
+libpng (1.2.15~beta5-2.1) unstable; urgency=high
+
+ * Non-maintainer upload by testing security team.
+ * Fixed out-of-bounds read operations triggered by crafted
+ png image files (CVE-2007-5269) (Closes: #446308).
+
+ -- Nico Golde <nion@debian.org> Sun, 14 Oct 2007 01:12:51 +0200
+
+libpng (1.2.15~beta5-2) unstable; urgency=high
+
+ * It seems that a grayscale image with a malformed (bad CRC) tRNS
+ chunk will crash libpng and mozilla. Closes: #424729.
+ - CVE-2007-2445
+ http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2007-2445
+ - CERT Vulnerability Note VU#684664
+ http://www.kb.cert.org/vuls/id/684664
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 09 May 2007 17:34:02 +1000
+
+libpng (1.2.15~beta5-1) unstable; urgency=low
+
+ * Applied legacy_symbols.patch.
+ * Changed shlibs dependecy versions to ">= 1.2.13-4".
+ * libpng12-0: Added the following conflicts: mzscheme (<= 1:209-5),
+ pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), qemacs (<= 0.3.1-5),
+ povray-3.5 (<= 3.5.0c-10).
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 20 Dec 2006 10:24:18 +1100
+
+libpng (1.2.15~beta5-0) unstable; urgency=high
+
+ * New upstream release.
+ - Fixed asm API functions not exported on amd64. Closes: #401044.
+ - Fixed "libpng hangs when saving profile". Closes: #401423.
+ * Fixed "Incorrect shlibs information". Closes: #401465.
+ * Removed patches for png.h and pngconf.h.
+ * Updated debian/watch.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 03 Dec 2006 14:47:41 +1100
+
+libpng (1.2.13-4) unstable; urgency=low
+
+ * Removed drop_pass_width patch. Closes: #399499.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Tue, 21 Nov 2006 19:07:43 +1100
+
+libpng (1.2.13-3) unstable; urgency=low
+
+ * libpng12-dev: removed the conflict with libpng3-dev.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 19 Nov 2006 16:36:02 +1100
+
+libpng (1.2.13-2) unstable; urgency=low
+
+ * Put back binary package libpng3.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 19 Nov 2006 15:32:39 +1100
+
+libpng (1.2.13-1) unstable; urgency=low
+
+ * Fixed conflict with the new libpng package. Closes: #399296.
+ * Fixed png.5 man page formatting. Closes: #353061.
+ Patch by Kevin Ryde <user42@zip.com.au>.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 19 Nov 2006 13:55:17 +1100
+
+libpng (1.2.13-0) unstable; urgency=high
+
+ * New upstream release.
+ * CVE-2006-5793: Fixed a new security issue regarding malformed
+ sPLT chunks. Closes: #398706.
+ * Transitional package libpng3 is not shipped anymore.
+ Closes: #369104.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 19 Nov 2006 09:02:09 +1100
+
+libpng (1.2.12-0) unstable; urgency=high
+
+ * New upstream release. Closes: #366070.
+ * CVE-2006-3334: Fixed Buffer overflow in the png_decompress_chunk
+ function in pngrutil.c in libpng before 1.2.12 allows
+ context-dependent attackers to cause a denial of service and
+ possibly execute arbitrary code via unspecified vectors related
+ to "chunk error processing," possibly involving the "chunk_name".
+ Closes: #397892.
+ * Removed debian/x86_patches/pnggccrd-PIC.patch as it's merged
+ upstream.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 09 Nov 2006 19:25:08 +1100
+
+libpng (1.2.8rel-7) unstable; urgency=low
+
+ * New maintainer. Closes: #393109.
+ * ACK NMUs. Closes: #378463, #377298, #356252.
+ * debian/control:
+ - set Standards-Version to 3.7.2.
+ - set Priority to extra for libpng12-0-udeb.
+ - added ${misc:Depends} to libpng12-0 and libpng12-0-udeb
+ dependency lists.
+ * Added debian/watch file.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org> Mon, 16 Oct 2006 17:34:58 +1000
+
+libpng (1.2.8rel-6) unstable; urgency=low
+
+ * Orphaning package.
+
+ -- Josselin Mouette <joss@debian.org> Sun, 15 Oct 2006 03:22:24 +0200
+
+libpng (1.2.8rel-5.2) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Backport changes from 1.2.12 to fix a buffer overflow in
+ png_decompress_chunk; patch by Alec Berryman. [CVE-2006-3334]
+ (Closes: #377298)
+
+ -- Steinar H. Gunderson <sesse@debian.org> Sun, 16 Jul 2006 16:27:56 +0200
+
+libpng (1.2.8rel-5.1) unstable; urgency=low
+
+ * Non Maintainer Upload (closes: #356252).
+ * Add support for udeb dependency resolution in shlibs file.
+ * Update debhelper compatibility to level 5.
+
+ -- Frans Pop <fjp@debian.org> Thu, 30 Mar 2006 11:46:39 +0200
+
+libpng (1.2.8rel-5) unstable; urgency=low
+
+ * drop_pass_width.patch: don't export png_pass_width, it's absolutely
+ unnecessary.
+ * libpng12-0.shlibs: downgrade the shlibs accordingly
+ (closes: #331383).
+
+ -- Josselin Mouette <joss@debian.org> Mon, 3 Oct 2005 20:18:43 +0200
+
+libpng (1.2.8rel-4) unstable; urgency=low
+
+ * makefile.patch:
+ + Use PNG_PRIVATE to get the list of private symbols as well. It
+ sucks, but they've been there for too long (closes: #329886).
+ + Use mawk instead of awk (closes: #329812).
+ * control: build-depend on mawk.
+ * rules:
+ + Use -O2, not -O3.
+ + Actually run the tests.
+ + Make use of x86_patches/ on x86 architectures.
+ * x86_patches/mmxbuild.patch: build MMX routines in pnggccrd.c.
+ * x86_patches/pnggccrd-PIC.patch: patch from Christian Aichinger
+ to make the assembly routines PIC-compatible.
+ * libpng12-0.shlibs: bump the shlibs version.
+
+ -- Josselin Mouette <joss@debian.org> Sun, 25 Sep 2005 15:25:34 +0200
+
+libpng (1.2.8rel-3) unstable; urgency=low
+
+ * Upload to unstable.
+ * Rename the source package to libpng.
+
+ -- Josselin Mouette <joss@debian.org> Thu, 22 Sep 2005 18:24:37 +0200
+
+libpng3 (1.2.8rel-2) experimental; urgency=low
+
+ * makefile.patch:
+ + now patch makefile.elf, so that only public symbols are truly
+ exported.
+ + shorten the differences as much as possible.
+ * rules: use makefile.elf now.
+ * Move libpng3 to oldlibs.
+ * Entirely remove libpng3-dev, making libpng12-dev provide it
+ (closes: #322051).
+ * poynton.patch: correct Charles Poynton's address (closes: #289437).
+ * Don't run the test when cross-building (closes: #285427).
+ * setjmp_error.patch: don't stop when we are not using _BSD_SOURCE, as
+ in this case this is harmless (closes: #299343).
+ * libpng3.postinst: removed, the fix is in sarge.
+ * Standards-version is 3.6.2.
+ * legacy_symbols.patch: still export png_read_destroy and
+ png_write_destroy, which are deprecated but should nevertheless be
+ accessible.
+
+ -- Josselin Mouette <joss@debian.org> Tue, 13 Sep 2005 02:07:16 +0200
+
+libpng3 (1.2.8rel-1) unstable; urgency=medium
+
+ * New upstream release.
+ * read_transformations.patch: removed, included upstream.
+ * libpng12-0.shlibs: Update to version 1.2.8rel, new flags seem to have been
+ added.
+
+ -- Josselin Mouette <joss@debian.org> Sat, 4 Dec 2004 15:54:53 +0100
+
+libpng3 (1.2.8beta5-2) unstable; urgency=medium
+
+ * read_transformations.patch: fix segmentation fault with latex
+ (closes: #281789) and totem (closes: #278618).
+
+ -- Josselin Mouette <joss@debian.org> Thu, 25 Nov 2004 16:49:28 +0100
+
+libpng3 (1.2.8beta5-1) unstable; urgency=medium
+
+ * New upstream release.
+ + Correct segmentation violation in png_combine_row.
+ Closes: #278526, #278917, #278921, #279258, #281789, #282368.
+
+ -- Josselin Mouette <joss@debian.org> Wed, 24 Nov 2004 13:53:49 +0100
+
+libpng3 (1.2.7-1) unstable; urgency=medium
+
+ * New upstream release (closes: #278308).
+ * libpng12-0.shlibs: update shlibs to version 1.2.7.
+ * Remove all security fixed, they are included upstream.
+
+ -- Josselin Mouette <joss@debian.org> Tue, 26 Oct 2004 13:40:25 +0200
+
+libpng3 (1.2.5.0-9) unstable; urgency=high
+
+ * CAN-2004-0954.patch: removed, this is already fixed in
+ CAN-2004-0597_0598_0599.patch.
+
+ -- Josselin Mouette <joss@debian.org> Tue, 19 Oct 2004 10:52:28 +0200
+
+libpng3 (1.2.5.0-8) unstable; urgency=high
+
+ * Switch to CDBS.
+ + Ship modifications and security fixes in debian/patches.
+ + debian/rules: rewritten.
+ + debian/control: build-depend on cdbs.
+ + debian/libpng12-0.shlibs: new.
+ * setjmp_error.patch: port explanation of the error when including setjmp.h
+ from libpng10, thanks Matijs van Zuijlen <Matijs.van.Zuijlen@xs4all.nl>
+ (closes: #273473).
+ * CAN-2004-0954.patch: fix buffer overflow vulnerability in
+ png_handle_tRNS().
+ * CAN-2004-0955.patch: fix integer arithmetic overflow vulnerability in
+ png_read_png().
+
+ -- Josselin Mouette <joss@debian.org> Thu, 14 Oct 2004 20:06:08 +0200
+
+libpng3 (1.2.5.0-7) unstable; urgency=high
+
+ * pngrtran.c: applied upstream patch 4 to fix incorrect calculation of
+ buffer offsets [CAN-2004-0768].
+ * png.h, pngpread.c, pngrutil.c: patch from Chris Evans
+ <chris@scary.beasts.org> to fix several vulnerabilities (closes: #263500):
+ + libpng fails to properly check length on PNG data [CAN-2004-0597].
+ + libpng "png_handle_sBIT" does not perform proper checks to avoid stack
+ buffer overflow [CAN-2004-0597].
+ + libpng "png_handle_iCCP" possible NULL-pointer crash
+ [CAN-2004-0598].
+ + libpng "png_handle_sPLT" possible integer overflow
+ [CAN-2004-0599].
+ + libpng "png_read_png" does not properly handle a PNG with excessive
+ height (integer overflow) [CAN-2004-0599].
+ + libpng progressive reading integer overflow [CAN-2004-0599].
+
+ -- Josselin Mouette <joss@debian.org> Thu, 5 Aug 2004 12:37:32 +0200
+
+libpng3 (1.2.5.0-6) unstable; urgency=high
+
+ * pngerror.c: applied patch by Steve Grubb <linux_4ever@yahoo.com> to
+ fix unintended memory access that could result in a crash of the
+ application linking against libpng [CAN-2004-0421].
+
+ -- Josselin Mouette <joss@debian.org> Tue, 20 Apr 2004 13:39:02 +0200
+
+libpng3 (1.2.5.0-5) unstable; urgency=low
+
+ * Use debhelper 4.2, which generates the udeb appropriately.
+ * Update control and rules appropriately.
+ * Don't use ${shlibs:Depends} for the udeb, rather write the
+ dependencies by hand.
+ * Standards-version is 3.6.1.
+
+ -- Josselin Mouette <joss@debian.org> Fri, 20 Feb 2004 19:23:05 +0100
+
+libpng3 (1.2.5.0-4) unstable; urgency=low
+
+ * scripts/makefile.linux: use versioned dependencies
+ (closes: #155891).
+ * debian/rules: bump dependency for dh_makeshlibs.
+ * add the libpng.a link in libpng12-dev.
+ * Rework scripts/makefile.linux to make it more consistent.
+ * Update stuff in debian/ accordingly.
+ * Updated README.Debian.
+
+ -- Josselin Mouette <joss@debian.org> Tue, 10 Jun 2003 18:14:32 +0200
+
+libpng3 (1.2.5.0-3) unstable; urgency=low
+
+ * Make libpng3{,-dev} depend on libpng12-{0,dev} >= 1.2.5.0-2 instead
+ of the strict source version.
+ * Move /usr/share/doc/libpng3{,-dev} into symlinks at postinst time
+ when directories already exist.
+ * debian/rules: install correctly doc-base stuff.
+ * debian/libpng12-dev.doc-base: updated URIs.
+
+ -- Josselin Mouette <joss@debian.org> Tue, 6 May 2003 19:44:59 +0200
+
+libpng3 (1.2.5.0-2) unstable; urgency=low
+
+ * scripts/{makefile.linux,libpng-config-body.in}: correct the
+ libpng12-config script.
+ * Install correctly pkg-config stuff (closes: #191081).
+ * Make libpng12-dev conflict explicitly with libpng12-0-dev.
+ * Update README.Debian.
+
+ -- Josselin Mouette <joss@debian.org> Mon, 28 Apr 2003 19:42:15 +0200
+
+libpng3 (1.2.5.0-1) unstable; urgency=low
+
+ * New maintainer.
+ * Use real upstream tarball from 1.2.5 release.
+ * Use dpkg-source's way instead of dpatch for patching.
+ * A bit of rework in debian/rules, use dh_install and debhelper 4.
+ * Standards-version is 3.5.9.
+ * The -dev package is now named libpng12-dev (stop using the
+ libpkg-guide way).
+ * libpng3 is now arch-independent.
+ * Improved descriptions a bit.
+ * Don't supply libpngpf.3, it is not useful to programmers.
+
+ -- Josselin Mouette <joss@debian.org> Wed, 16 Apr 2003 18:41:02 +0200
+
+libpng3 (1.2.5-11) unstable; urgency=low
+
+ * Add udeb (closes: #174842)
+ * Add missing section on source files.
+
+ -- Junichi Uekawa <dancer@debian.org> Mon, 31 Mar 2003 00:28:06 +0900
+
+libpng3 (1.2.5-10) unstable; urgency=low
+
+ * Rebuild with d-shlibs with fixed "libgcc_s1-dev" handling (for gcc-3.2).
+ (closes: #178070), build-depend on d-shlibs 0.10 or greater.
+
+ -- Junichi Uekawa <dancer@debian.org> Fri, 24 Jan 2003 12:23:35 +0900
+
+libpng3 (1.2.5-9) unstable; urgency=low
+
+ * Use dpatch for patch system -- divide Debian patch, and security fix patch.
+ * Standards-Version: 3.5.8
+ * add manual page libpng-config.1 and libpng12-config.1
+
+ -- Junichi Uekawa <dancer@debian.org> Wed, 15 Jan 2003 17:55:17 +0900
+
+libpng3 (1.2.5-8) unstable; urgency=low
+
+ * Sorry folks, I made a mistake.
+ * Forward-port of patch from the Security Team,
+ really apply what was there. (closes: #172868,#172871)
+
+ -- Junichi Uekawa <dancer@debian.org> Fri, 13 Dec 2002 16:12:01 +0900
+
+libpng3 (1.2.5-7) unstable; urgency=high
+
+ * Forward-port of patch from the Security Team
+ * Applied patch to pngrtran.c by Glenn Randers-Pehrson
+ <glennrp@comcast.net> to fix a buffer overrun.
+
+ -- Junichi Uekawa <dancer@debian.org> Thu, 12 Dec 2002 20:36:28 +0900
+
+libpng3 (1.2.5-6) unstable; urgency=low
+
+ * Typo in scripts/makefile.linux.
+ Mistake. -lz and -lm weren't happening.
+ * Change LDFLAGS to not list -lz -lm, so that testsuite will catch such error.
+ * set prefix=/usr/ in scripts/makefile.linux, since it was set to usr/local.
+
+ -- Junichi Uekawa <dancer@debian.org> Wed, 30 Oct 2002 20:54:54 +0900
+
+libpng3 (1.2.5-5) unstable; urgency=low
+
+ * scripts/makefile.linux: LIBADDFLAGS introduced, for shared library lib
+ additional
+ flags, and use that for shared library.
+ - this should fix build failure (closes: #166704)
+ Thanks Daniel Schepler <schepler@math.berkeley.edu> for reporting.
+ * updated copyright file to note that libpng3 in Debian is patched to
+ link with -lz -lm.
+
+ -- Junichi Uekawa <dancer@debian.org> Mon, 28 Oct 2002 12:25:57 +0900
+
+libpng3 (1.2.5-4) unstable; urgency=low
+
+ * Trying to fix the problem that libpng3 seems to be not linked against libz.
+ LDFLAGS was defined but not being used.
+ Thanks Mike Furr <mfurr@debian.org> for reporting (closes: #166489)
+
+ -- Junichi Uekawa <dancer@debian.org> Sun, 27 Oct 2002 16:07:54 +0900
+
+libpng3 (1.2.5-3) unstable; urgency=low
+
+ * Fixed description, I mixed up the -devel and non-devel
+ packages.
+ * updated README.Debian.
+
+ -- Junichi Uekawa <dancer@debian.org> Thu, 24 Oct 2002 18:56:34 +0900
+
+libpng3 (1.2.5-2) unstable; urgency=low
+
+ * careless mistake :(
+ * reinstall libpng.so symlink in libpng-12-0-dev package.
+ Otherwise other packages won't build ...
+
+ -- Junichi Uekawa <dancer@debian.org> Wed, 23 Oct 2002 16:46:23 +0900
+
+libpng3 (1.2.5-1) unstable; urgency=low
+
+ * New upstream version (closes: #163425)
+ * re-patched makefile.linux to work with system zlib,
+ added workaround to set CFLAGS, and remove rpath settings from LDFLAGS
+ * Use debhelper.
+ * No longer create /usr/doc symlinks.
+ * Standards-Version: 3.5.7
+
+ -- Junichi Uekawa <dancer@debian.org> Tue, 22 Oct 2002 21:05:33 +0900
+
+libpng3 (1.2.1-5) unstable; urgency=low
+
+ * Not yet released.
+ * Change priority from standard to optional.
+
+ -- Junichi Uekawa <dancer@debian.org> Sun, 15 Sep 2002 15:39:12 +0900
+
+libpng3 (1.2.1-4) unstable; urgency=low
+
+ * change -dev dependency of libc6-dev to libc-dev
+
+ -- Junichi Uekawa <dancer@debian.org> Fri, 13 Sep 2002 18:40:53 +0900
+
+libpng3 (1.2.1-3) unstable; urgency=low
+
+ * Security fix backported from 1.2.4. Check bounds of variables.
+ (closes: #155403)
+
+ -- Junichi Uekawa <dancer@debian.org> Wed, 7 Aug 2002 17:30:32 +0900
+
+libpng3 (1.2.1-2) unstable; urgency=low
+
+ * New maintainer (closes: #151343)
+ * apply buffer overflow patch for interlaced png files (closes: #150595)
+ * update description for libpng3-dev.
+ * change libpng-dev to libpng3-dev
+
+ -- Junichi Uekawa <dancer@debian.org> Thu, 25 Jul 2002 16:28:24 +0900
+
+libpng3 (1.2.1-1.1) unstable; urgency=low
+
+ * NMU
+ * Provides: libpng2-dev has been changed to Provides: libpng3-dev
+ libpng2-dev can be put back in when some kind of sane transition has
+ finished.
+ (closes: #128384, #128871, #129268, #129269)
+
+ -- Junichi Uekawa <dancer@debian.org> Tue, 12 Feb 2002 02:31:53 +0900
+
+libpng3 (1.2.1-1) unstable; urgency=low
+
+ * New upstream version; closes: #125679.
+ * New source package name: libpng3.
+ * Renamed libpng<x>-dev to libpng-dev to avoid having to maintain several
+ development packages (the -dev is source compatible).
+ * Moved png.5 into the -dev package.
+ * Added a Replaces: libpng2 to libpng-dev so that we can steal the png.5
+ manpage without fuss.
+ * Changed debian/shlibs for libpng3.
+ * Compress examples/pngtest.c.
+
+ -- Philippe Troin <phil@fifi.org> Tue, 18 Dec 2001 20:01:04 -0800
+
+libpng (1.0.12-3) unstable; urgency=low
+
+ * Moved the png.5 manpage to the dev package to allow multiple libpng<n>
+ packages installed at the same time.
+
+ -- Philippe Troin <phil@fifi.org> Tue, 18 Dec 2001 23:58:25 -0800
+
+libpng (1.0.12-2) unstable; urgency=low
+
+ * Changed libpng2-dev's section to devel to resync with override file.
+ * Fixed upstream version detection in debian/rules; closes: #105931.
+
+ -- Philippe Troin <phil@fifi.org> Sun, 29 Jul 2001 11:52:40 -0700
+
+libpng (1.0.12-1) unstable; urgency=low
+
+ * New upstream release; closes: #105354.
+ * Bumped dependency information in debian/shlibs to libpng >= 1.0.12
+ since there were some non-backwards compatible changes to the API.
+ * Added support for DEB_BUILD_OPTIONS and get-orig-source to debian/rules.
+ * Added call to ldconfig on postrm's remove.
+ * Removed INSTALL file from /usr/share/doc/libpng2.
+ * Bumped standards version to 3.5.5.0.
+
+ -- Philippe Troin <phil@fifi.org> Tue, 17 Jul 2001 23:32:36 -0700
+
+libpng (1.0.11-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Philippe Troin <phil@fifi.org> Wed, 2 May 2001 20:43:51 -0700
+
+libpng (1.0.10-2) unstable; urgency=low
+
+ * Force recompile because of bad sparc package.
+ * Libpng2's priority changed to standard to comply with the override file.
+
+ -- Philippe Troin <phil@fifi.org> Tue, 24 Apr 2001 11:49:31 -0700
+
+libpng (1.0.10-1) unstable; urgency=low
+
+ * New upstream release.
+ * Changed shlib to depend on libpng2 (>= 2.0.10) because of
+ non-backwards compatible changes.
+
+ -- Philippe Troin <phil@fifi.org> Sun, 22 Apr 2001 22:48:30 -0700
+
+libpng (1.0.8-1) unstable; urgency=low
+
+ * Changed the doc-base type from 'test' to 'text'; closes: #59877.
+ * New upstream relase 1.0.8; closes: #70464.
+ * Updated copyright notice.
+ * Removed Y2kINFO from the doc directory.
+ * Added pngtest.c in examples; closes: #65229.
+ * Updated to standards version 3.2.1.0.
+ * Added build-depends line in control file; closes: #69291.
+
+ -- Philippe Troin <phil@fifi.org> Mon, 11 Sep 2000 23:19:12 -0700
+
+libpng (1.0.5-1) frozen unstable; urgency=low
+
+ * Maintainer upload (closes: #48244, #48246).
+ * Added some extra explanations for the setjmp.h mess (closes: #56759),
+ see pngconf.h for details.
+
+ -- Philippe Troin <phil@fifi.org> Mon, 28 Feb 2000 13:53:22 -0800
+
+libpng (1.0.5-0.1) unstable; urgency=low
+
+ * Non-maintainer release.
+ * New upstream release. (closes:Bug#48244).
+ * Remove versioned depend from shlibs (closes:Bug#48246).
+
+ -- Joel Klecker <espy@debian.org> Sat, 30 Oct 1999 08:12:53 -0700
+
+libpng (1.0.3-1) unstable; urgency=low
+
+ * New upstream version (1.0.3); Closes: #31870, #46333.
+ * Maintainer upload, closes NMU bugs; Closes: #28412, #31523, #31690.
+ * FHS compliant.
+ * New standard-version 3.0.1.
+ * Lintian clean.
+ * Removed temporary zlib1g line in control file (used to be a bug in
+ zlib1g).
+ * Moved the documentation file to the -dev package.
+ * Register documentation file to doc-base.
+ * Fontified man pages with addformat script; Closes #38680.
+
+ -- Philippe Troin <phil@fifi.org> Mon, 4 Oct 1999 18:59:42 -0700
+
+libpng (1.0.2b-0.1) frozen unstable; urgency=low
+
+ * New upstream (bug-fix only) version.
+ (Should fix bugs #31690滼, since I can't reproduce them)
+ From the author:
+ "I have recently uploaded libpng-1.0.2b to
+ ftp://swrinde.nde.swri.edu/pub/png-group/src
+ I plan to release it as libpng-1.0.3 in a
+ few days, but would like to hear whether it
+ fixes the problems with GNOME.
+ It restores a few lines of code that were
+ inadvertently deleted from pngread.c, which
+ seems to be the cause of problems with adding
+ an alpha channel (which you fixed by downgrading
+ to libpng-1.0.1's pngread.c)."
+ [Glenn Randers-Pehrson <glennrp@netgsi.com>]
+ * Masquerade version number to 1.0.3 to make Imlib & Co. happy.
+
+ -- Vincent Renardias <vincent@waw.com> Mon, 11 Jan 1999 06:27:55 +0100
+
+libpng (1.0.2-1.1) frozen unstable; urgency=low
+
+ * Fix Important bug #28412
+ (using pngread.c from libpng-1.0.1 did the trick).
+
+ -- Vincent Renardias <vincent@waw.com> Wed, 6 Jan 1999 19:00:15 +0100
+
+libpng (1.0.2-1) unstable; urgency=low
+
+ * Maintainer release (to change a bit).
+ * Pristine sources.
+ * Libpng2-dev includes example.c (fixes bug #10315).
+ * Changed control file to reflect difference with libpng0g (fixes #23795).
+ * Recompiled (should fix the zlib1g missing symbol, bug #24450).
+ * Added -D_REENTRANT also to static library.
+ * Added a dependency upon zlib1g >= 1.1.2 (otherwise we get a missing
+ symbol) (fixes bug #24450).
+
+ -- Philippe Troin <phil@fifi.org> Tue, 22 Sep 1998 00:17:16 -0700
+
+libpng (1.0.2-0.1) unstable; urgency=low
+
+ * Non-maintainer release
+ * New upstream version
+
+ -- Karl M. Hegbloom <karlheg@debian.org> Tue, 4 Aug 1998 23:47:00 -0700
+
+libpng (1.0.1-0.2) unstable; urgency=medium
+
+ * debian/rules (binary-arch): don't call install with -s as an
+ argument when installing a shared library; it doesn't know to use
+ --strip-unneeded, and we call strip separately later anyway.
+ * scripts/makefile.lnx (CFLAGS): killed i386-isms.
+ * scripts/makefile.lnx: compiled shared libraries with -D_REENTRANT.
+ (The above fixes are from James Troup, who yet again, alerted me to
+ my screwups ;)
+ * debian/postinst: only call ldconfig if $1 = configure.
+
+ -- Joel Klecker <jk@espy.org> Wed, 17 Jun 1998 10:25:27 -0700
+
+libpng (1.0.1-0.1) unstable; urgency=low
+
+ * New upstream bug fix release.
+ * Include man pages.
+
+ -- Joel Klecker <jk@espy.org> Wed, 06 May 1998 08:51:49 -0700
+
+libpng (1.0.0-0.1) unstable; urgency=low
+
+ * Non-maintainer Release.
+ * New Upstream Release.
+ * Changed source package name to `libpng'.
+ * Added `-f makefile.lnx' to make invocations in debian/rules.
+ * Removed `ldconfig' call from postrm.
+
+ -- Joel Klecker <jk@espy.org> Wed, 04 Mar 1998 17:58:05 -0800
+
+libpng0 (0.96-5) unstable; urgency=low
+
+ * Removed executable permissions on shared libs (fixes bug #15478).
+ * Updated Standards-Version to 2.3.0.1.
+
+ -- Philippe Troin <phil@fifi.org> Sun, 25 Jan 1998 13:19:51 -0800
+
+libpng0 (0.96-4) unstable; urgency=low
+
+ * Shared libraries are stripped with --strip-unneeded and static
+ libraries with --strip-debug (fixes bug #15669).
+ * Made the build strip non-i386 specific (patch by James Troup) (fixes
+ bug #13832).
+ * Removed the dependency between the libc5 and libc6 versions.
+
+ -- Philippe Troin <phil@fifi.org> Sun, 18 Jan 1998 22:37:19 -0800
+
+libpng0 (0.96-3) unstable; urgency=low
+
+ * Libc6 compilation.
+
+ -- Philippe Troin <phil@fifi.org> Tue, 23 Sep 1997 21:38:42 -0700
+
+libpng0 (0.96-2) unstable; urgency=low
+
+ * Fixed permissions in /usr/doc/libpng0 (fixes bug #10540).
+
+ -- Philippe Troin <phil@fifi.org> Sun, 15 Jun 1997 13:18:38 -0700
+
+libpng0 (0.96-1) unstable; urgency=low
+
+ * New upstream sources.
+
+ -- Philippe Troin <phil@fifi.org> Thu, 12 Jun 1997 23:32:29 -0700
+
+libpng0 (0.95b-1) unstable; urgency=low
+
+ * New maintainer.
+ * Upgraded to upstream version 0.95b.
+ * Make debian/rules version independent.
+ * Debian/rules clean now removes substvars.
+ * Bumped the shlibs version to 0.95 as some incompatibilities were
+ introduced between 0.89 and 0.90.
+ * Added the Section: and Priority: fields to the control file (fixes bug
+ #6370).
+ * Now /usr/doc/libpng0 contains various info and the debian change log
+ stuff (fixes bug #7925).
+ * Added -D_REENTRANT compilation flag.
+
+ -- Philippe Troin <phil@fifi.org> Fri, 18 Apr 1997 14:44:09 -0700
+
+libpng (0.89c-6) unstable; urgency=low
+
+ * Moved shlibs file to correct location
+
+ -- Michael Alan Dorman <mdorman@debian.org> Sun, 15 Dec 1996 13:03:19 -0500
+
+libpng (0.89c-5) unstable; urgency=low
+
+ * Added shlibs file
+
+ -- Michael Alan Dorman <mdorman@debian.org> Sat, 23 Nov 1996 16:23:06 -0500
+
+libpng (0.89c-4) unstable; urgency=low
+
+ * Now stripping shared libraries (Bug#5134)
+
+ -- Michael Alan Dorman <mdorman@debian.org> Sat, 23 Nov 1996 12:05:06 -0500
+
+libpng (0.89c-3) unstable; urgency=low
+
+ * Corrected maintainers address
+
+ -- Michael Alan Dorman <mdorman@debian.org> Mon, 23 Sep 1996 12:52:03 -0400
+
+libpng (0.89c-2) unstable; urgency=low
+
+ * Accommodate the fact that dpkg-source doesn't properly preserve
+ permissions on scripts when extracting package. (Bug#4513)
+
+ -- Michael Alan Dorman <mdorman@calder.med.miami.edu> Mon, 23 Sep 1996 12:34:35 -0400
+
+libpng (0.89c-1) unstable; urgency=low
+
+ * New upstream version.
+ * Moved to new source packaging format.
+
+ -- Michael Alan Dorman <mdorman@calder.med.miami.edu> Thu, 12 Sep 1996 15:19:35 -0400
--- /dev/null
+pngtest-static
--- /dev/null
+Source: libpng1.6
+Section: libs
+Priority: optional
+Maintainer: Maintainers of libpng1.6 packages <libpng1.6@packages.debian.org>
+Uploaders: Nobuhiro Iwamatsu <iwamatsu@debian.org>,
+ Gianfranco Costamagna <locutusofborg@debian.org>,
+ Tobias Frost <tobi@debian.org>
+Build-Depends: debhelper-compat (= 13), cmake, zlib1g-dev, mawk
+Standards-Version: 4.7.3
+Vcs-Browser: https://salsa.debian.org/debian/libpng1.6
+Vcs-Git: https://salsa.debian.org/debian/libpng1.6.git
+Homepage: http://libpng.org/pub/png/libpng.html
+
+Package: libpng16-16t64
+Provides: ${t64:Provides}
+Replaces: libpng16-16
+Breaks: libpng16-16 (<< ${source:Version})
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Description: PNG library - runtime (version 1.6)
+ libpng is a library implementing an interface for reading and writing
+ PNG (Portable Network Graphics) format files.
+ .
+ This package contains the runtime library files needed to run software
+ using libpng.
+
+Package: libpng-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends}, libpng16-16t64 (= ${binary:Version}), zlib1g-dev
+Conflicts: libpng12-0-dev, libpng12-dev, libpng2-dev, libpng3-dev
+Breaks: libpng16-dev (<< 1.6.20-3), libpng16-devtools (<< 1.6.21-1)
+Replaces: libpng16-dev (<< 1.6.20-3), libpng16-devtools (<< 1.6.21-1)
+Recommends: libpng-tools
+Description: PNG library - development (version 1.6)
+ libpng is a library implementing an interface for reading and writing
+ PNG (Portable Network Graphics) format files.
+ .
+ This package contains the header and development files needed to build
+ programs and packages using libpng.
+
+Package: libpng-tools
+Section: libdevel
+Architecture: any
+Multi-Arch: foreign
+Depends: ${shlibs:Depends}, ${misc:Depends}, libpng16-16t64 (= ${binary:Version})
+Breaks: libpng16-tools (<< 1.6.21-1)
+Replaces: libpng16-tools (<< 1.6.21-1)
+Description: PNG library - tools (version 1.6)
+ libpng is a library implementing an interface for reading and writing
+ PNG (Portable Network Graphics) format files.
+ .
+ This package contains a program to interact with libpng from the
+ command line.
+
+Package: libpng16-16-udeb
+Package-Type: udeb
+Build-Profiles: <!noudeb>
+Section: debian-installer
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: PNG library - minimal runtime library (version 1.6)
+ libpng is a library implementing an interface for reading and writing
+ PNG (Portable Network Graphics) format files.
+ .
+ This package provides the minimal libpng runtime library needed for
+ the debian-installer.
--- /dev/null
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: libpng
+Source: http://www.libpng.org/pub/png/
+
+Files: *
+Copyright: 1995-2026 The PNG Reference Library Authors.
+ 1998-2018 Glenn Randers-Pehrson
+ 2018-2026 Cosmin Truta
+License: libpng
+
+Files: arm/*
+Copyright: 2018-2025 Cosmin Truta
+ 2017-2018 Arm Holdings. All rights reserved.
+ 2014,2016 Glenn Randers-Pehrson
+License: libpng
+
+Files: ci/*
+Copyright: 2023-2024 Cosmin Truta
+License: expat
+
+Files: contrib/pngexif/*
+Copyright: 2017-2020 Cosmin Truta
+License: expat
+
+Files: contrib/pngminus/*
+Copyright: 1999-2019 Willem van Schaik <willem at schaik dot com>
+ 2018-2024 Cosmin Truta
+License: expat
+
+Files: contrib/tools/*
+Copyright: 2013-2024 John Cunningham Bowler
+ 2015 Glenn Randers-Pehrson
+License: libpng
+
+Files: pngwutil.c pngstruct.h pngwrite.c pnginfo.h pngrio.c png.h
+ pngread.c pngwio.c pngrutil.c pngmem.c pngget.c pngtest.c
+ pngrtran.c pngpriv.h pngset.c pngpread.c
+ pngdebug.h pngerror.c pngwtran.c png.c pngtrans.c example.c
+Copyright: 1996, 1997 Andreas Dilger
+ 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+ 1998-2018 Glenn Randers-Pehrson
+ 2018-2025 Cosmin Truta
+License: libpng
+
+Files: contrib/gregbook/*
+ contrib/visupng/resource.h
+ contrib/visupng/cexcept.h
+Copyright: 2000-2008 Adam M. Costello and Cosmin Truta
+ 1998-2017 Greg Roelofs
+License: GPL-2+ or BSD-like-with-advertising-clause
+
+Files: contrib/visupng/PngFile.c contrib/visupng/PngFile.h
+ contrib/visupng/VisualPng.c
+Copyright: 2000,2017 Willem van Schaik
+License: libpng
+
+Files: contrib/libtests/tarith.c
+Copyright: 2011-2013 John Cunningham Bowler
+ 2021 Cosmin Truta
+License: libpng
+
+Files: contrib/oss-fuzz/*
+Copyright: 2017-2018 Glenn Randers-Pehrson
+ 2016 Google Inc.
+ 2015 The Chromium Authors.
+License: libpng OR Apache-2.0 OR BSD-3-clause
+
+Files: contrib/oss-fuzz/Dockerfile
+Copyright: 2016 Google Inc.
+License: Apache-2.0
+
+Files: riscv/*
+Copyright: 2023 Google LLC
+License: libpng
+
+Files: debian/*
+Copyright: 2001 Philippe Troin <phil@fifi.org>
+ 2002 Junichi Uekawa <dancer@debian.org>
+ 2003 Josselin Mouette <joss@debian.org>
+ 2006-2009 Anibal Monsalve Salazar <anibal@debian.org>
+ 2011-2014 Nobuhiro Iwamatsu <iwamatsu@debian.org>
+ 2016-2026 Gianfranco Costamagna <locutusofborg@debian.org>
+ 2016-2026 Tobias Frost <tobi@debian.org>
+License: GPL-2+
+
+License: expat
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+License: GPL-2+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+
+License: BSD-like-with-advertising-clause
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute
+ it freely, subject to the following restrictions:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, disclaimer, and this list of conditions.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, disclaimer, and this list of conditions in the documenta-
+ tion and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this
+ software must display the following acknowledgment:
+ .
+ This product includes software developed by Greg Roelofs
+ and contributors for the book, "PNG: The Definitive Guide,"
+ published by O'Reilly and Associates.
+
+License: libpng
+ Here is the copyright and license for libpng:
+ .
+ libpng versions 1.2.6, August 15, 2004, through 1.5.2, March 31, 2011, are
+ Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-1.2.5
+ with the following individual added to the list of Contributing Authors
+ .
+ Cosmin Truta
+ .
+ libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
+ Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-1.0.6
+ with the following individuals added to the list of Contributing Authors
+ .
+ Simon-Pierre Cadieux
+ Eric S. Raymond
+ Gilles Vollant
+ .
+ and with the following additions to the disclaimer:
+ .
+ There is no warranty against interference with your enjoyment of the
+ library or against infringement. There is no warranty that our
+ efforts or the library will fulfill any of your particular purposes
+ or needs. This library is provided with all faults, and the entire
+ risk of satisfactory quality, performance, accuracy, and effort is with
+ the user.
+ .
+ libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
+ Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-0.96,
+ with the following individuals added to the list of Contributing Authors:
+ .
+ Tom Lane
+ Glenn Randers-Pehrson
+ Willem van Schaik
+ .
+ (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
+ (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
+ .
+ Authors and maintainers:
+ libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
+ libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
+ libpng versions 0.97, January 1998, through 1.2.26 - April 2, 2008: Glenn
+ See also "Contributing Authors", below.
+ .
+ .
+ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
+ .
+ If you modify libpng you may insert additional notices immediately following
+ this sentence.
+ .
+ libpng versions 1.2.6, August 15, 2004, through 1.2.26, April 2, 2008, are
+ Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-1.2.5
+ with the following individual added to the list of Contributing Authors:
+ .
+ Cosmin Truta
+ .
+ libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
+ Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-1.0.6
+ with the following individuals added to the list of Contributing Authors:
+ .
+ Simon-Pierre Cadieux
+ Eric S. Raymond
+ Gilles Vollant
+ .
+ and with the following additions to the disclaimer:
+ .
+ There is no warranty against interference with your enjoyment of the
+ library or against infringement. There is no warranty that our
+ efforts or the library will fulfill any of your particular purposes
+ or needs. This library is provided with all faults, and the entire
+ risk of satisfactory quality, performance, accuracy, and effort is with
+ the user.
+ .
+ libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
+ Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-0.96,
+ with the following individuals added to the list of Contributing Authors:
+ .
+ Tom Lane
+ Glenn Randers-Pehrson
+ Willem van Schaik
+ .
+ libpng versions 0.89, June 1996, through 0.96, May 1997, are
+ Copyright (c) 1996, 1997 Andreas Dilger
+ Distributed according to the same disclaimer and license as libpng-0.88,
+ with the following individuals added to the list of Contributing Authors:
+ .
+ John Bowler
+ Kevin Bracey
+ Sam Bushell
+ Magnus Holmgren
+ Greg Roelofs
+ Tom Tanner
+ .
+ libpng versions 0.5, May 1995, through 0.88, January 1996, are
+ Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+ .
+ For the purposes of this copyright and license, "Contributing Authors"
+ is defined as the following set of individuals:
+ .
+ Andreas Dilger
+ Dave Martindale
+ Guy Eric Schalnat
+ Paul Schmidt
+ Tim Wegner
+ .
+ The PNG Reference Library is supplied "AS IS". The Contributing Authors
+ and Group 42, Inc. disclaim all warranties, expressed or implied,
+ including, without limitation, the warranties of merchantability and of
+ fitness for any purpose. The Contributing Authors and Group 42, Inc.
+ assume no liability for direct, indirect, incidental, special, exemplary,
+ or consequential damages, which may result from the use of the PNG
+ Reference Library, even if advised of the possibility of such damage.
+ .
+ Permission is hereby granted to use, copy, modify, and distribute this
+ source code, or portions hereof, for any purpose, without fee, subject
+ to the following restrictions:
+ .
+ 1. The origin of this source code must not be misrepresented.
+ .
+ 2. Altered versions must be plainly marked as such and
+ must not be misrepresented as being the original source.
+ .
+ 3. This Copyright notice may not be removed or altered from
+ any source or altered source distribution.
+ .
+ The Contributing Authors and Group 42, Inc. specifically permit, without
+ fee, and encourage the use of this source code as a component to
+ supporting the PNG file format in commercial products. If you use this
+ source code in a product, acknowledgment is not required but would be
+ appreciated.
+ .
+ contrib/pngsuite:
+ --------
+ (c) Willem van Schaik, 1999, 2011
+ .
+ Permission to use, copy, modify, and distribute these images for any
+ purpose and without fee is hereby granted.
+
+License: Apache-2.0
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ .
+ http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ .
+ On Debian systems, the full text of the Apache License
+ can be found in the file `/usr/share/common-licenses/Apache-2.0'.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
--- /dev/null
+libpng-manual.txt
+README
+TODO
--- /dev/null
+[DEFAULT]
+upstream-branch=upstream
+debian-branch=master
+pristine-tar = True
+sign-tags = True
--- /dev/null
+example.c
+pngtest.c
+pngtest.png
--- /dev/null
+usr/bin/libpng-config
+usr/bin/libpng16-config
+usr/include
+usr/lib/*/cmake
+usr/lib/*/libpng
+usr/lib/*/pkgconfig
+usr/lib/*/libpng.a
+usr/lib/*/libpng16.a
+usr/lib/*/libpng.so
+usr/lib/*/libpng16.so
+usr/share/man
--- /dev/null
+/usr/include/libpng16 /usr/include/libpng
+/usr/share/man/man1/libpng16-config.1.gz /usr/share/man/man1/libpng-config.1.gz
--- /dev/null
+debian/libpng16-config.1
--- /dev/null
+usr/bin/png-fix-itxt
+usr/bin/pngfix
--- /dev/null
+usr/lib/*/libpng16.so.* usr/lib
--- /dev/null
+Document: libpng16
+Title: A description on how to use and modify libpng (version 1.5.X)
+Author: Glenn Randers-Pehrson
+Abstract: This file describes how to use and modify the PNG reference library
+ (known as libpng) for your own use. There are five sections to this
+ file: introduction, structures, reading, writing, and modification and
+ configuration notes for various special platforms. In addition to this
+ file, example.c is a good starting point for using the library, as
+ it is heavily commented and should include everything most people
+ will need. We assume that libpng is already installed; see the
+ INSTALL file for instructions on how to install libpng.
+ .
+ Libpng was written as a companion to the PNG specification, as a way
+ of reducing the amount of time and effort it takes to support the PNG
+ file format in application programs. The PNG specification is available
+ as RFC 2083 <http://www.ietf.org/rfc/rfc2083.txt> and as a
+ W3C Recommendation <http://www.w3.org/TR/REC-png-multi.html>. Some
+ additional chunks are described in the special-purpose public chunks
+ documents at <ftp://ftp.uu.net/graphics/png/documents/>. Other information
+ about PNG, and the latest version of libpng, can be found at the PNG home
+ page, <http://www.libpng.org/pub/png/>.
+Section: Programming
+
+Format: text
+Files: /usr/share/doc/libpng16-16t64/libpng-manual.txt.gz
--- /dev/null
+README
+TODO
+ANNOUNCE
+#KNOWNBUG
+libpng-manual.txt
--- /dev/null
+usr/lib/*/libpng16.so.*
--- /dev/null
+libpng16-16t64: package-name-doesnt-match-sonames libpng16-16
--- /dev/null
+libpng16.so.16 libpng16-16t64 #MINVER#
+* Build-Depends-Package: libpng-dev
+ PNG16_0@PNG16_0 1.6.46
+ png_access_version_number@PNG16_0 1.6.46
+ png_set_sig_bytes@PNG16_0 1.6.46
+ png_sig_cmp@PNG16_0 1.6.46
+ png_create_read_struct@PNG16_0 1.6.46
+ png_create_write_struct@PNG16_0 1.6.46
+ png_get_compression_buffer_size@PNG16_0 1.6.46
+ png_set_compression_buffer_size@PNG16_0 1.6.46
+ png_set_longjmp_fn@PNG16_0 1.6.46
+ png_longjmp@PNG16_0 1.6.46
+ png_reset_zstream@PNG16_0 1.6.46
+ png_create_read_struct_2@PNG16_0 1.6.46
+ png_create_write_struct_2@PNG16_0 1.6.46
+ png_write_sig@PNG16_0 1.6.46
+ png_write_chunk@PNG16_0 1.6.46
+ png_write_chunk_start@PNG16_0 1.6.46
+ png_write_chunk_data@PNG16_0 1.6.46
+ png_write_chunk_end@PNG16_0 1.6.46
+ png_create_info_struct@PNG16_0 1.6.46
+ png_info_init_3@PNG16_0 1.6.46
+ png_write_info_before_PLTE@PNG16_0 1.6.46
+ png_write_info@PNG16_0 1.6.46
+ png_read_info@PNG16_0 1.6.46
+ png_convert_to_rfc1123@PNG16_0 1.6.46
+ png_convert_to_rfc1123_buffer@PNG16_0 1.6.46
+ png_convert_from_struct_tm@PNG16_0 1.6.46
+ png_convert_from_time_t@PNG16_0 1.6.46
+ png_set_expand@PNG16_0 1.6.46
+ png_set_expand_gray_1_2_4_to_8@PNG16_0 1.6.46
+ png_set_palette_to_rgb@PNG16_0 1.6.46
+ png_set_tRNS_to_alpha@PNG16_0 1.6.46
+ png_set_expand_16@PNG16_0 1.6.46
+ png_set_bgr@PNG16_0 1.6.46
+ png_set_gray_to_rgb@PNG16_0 1.6.46
+ png_set_rgb_to_gray@PNG16_0 1.6.46
+ png_set_rgb_to_gray_fixed@PNG16_0 1.6.46
+ png_get_rgb_to_gray_status@PNG16_0 1.6.46
+ png_build_grayscale_palette@PNG16_0 1.6.46
+ png_set_alpha_mode@PNG16_0 1.6.46
+ png_set_alpha_mode_fixed@PNG16_0 1.6.46
+ png_set_strip_alpha@PNG16_0 1.6.46
+ png_set_swap_alpha@PNG16_0 1.6.46
+ png_set_invert_alpha@PNG16_0 1.6.46
+ png_set_filler@PNG16_0 1.6.46
+ png_set_add_alpha@PNG16_0 1.6.46
+ png_set_swap@PNG16_0 1.6.46
+ png_set_packing@PNG16_0 1.6.46
+ png_set_packswap@PNG16_0 1.6.46
+ png_set_shift@PNG16_0 1.6.46
+ png_set_interlace_handling@PNG16_0 1.6.46
+ png_set_invert_mono@PNG16_0 1.6.46
+ png_set_background@PNG16_0 1.6.46
+ png_set_background_fixed@PNG16_0 1.6.46
+ png_set_scale_16@PNG16_0 1.6.46
+ png_set_strip_16@PNG16_0 1.6.46
+ png_set_quantize@PNG16_0 1.6.46
+ png_set_gamma@PNG16_0 1.6.46
+ png_set_gamma_fixed@PNG16_0 1.6.46
+ png_set_flush@PNG16_0 1.6.46
+ png_write_flush@PNG16_0 1.6.46
+ png_start_read_image@PNG16_0 1.6.46
+ png_read_update_info@PNG16_0 1.6.46
+ png_read_rows@PNG16_0 1.6.46
+ png_read_row@PNG16_0 1.6.46
+ png_read_image@PNG16_0 1.6.46
+ png_write_row@PNG16_0 1.6.46
+ png_write_rows@PNG16_0 1.6.46
+ png_write_image@PNG16_0 1.6.46
+ png_write_end@PNG16_0 1.6.46
+ png_read_end@PNG16_0 1.6.46
+ png_destroy_info_struct@PNG16_0 1.6.46
+ png_destroy_read_struct@PNG16_0 1.6.46
+ png_destroy_write_struct@PNG16_0 1.6.46
+ png_set_crc_action@PNG16_0 1.6.46
+ png_set_filter@PNG16_0 1.6.46
+ png_set_filter_heuristics@PNG16_0 1.6.46
+ png_set_filter_heuristics_fixed@PNG16_0 1.6.46
+ png_set_compression_level@PNG16_0 1.6.46
+ png_set_compression_mem_level@PNG16_0 1.6.46
+ png_set_compression_strategy@PNG16_0 1.6.46
+ png_set_compression_window_bits@PNG16_0 1.6.46
+ png_set_compression_method@PNG16_0 1.6.46
+ png_set_text_compression_level@PNG16_0 1.6.46
+ png_set_text_compression_mem_level@PNG16_0 1.6.46
+ png_set_text_compression_strategy@PNG16_0 1.6.46
+ png_set_text_compression_window_bits@PNG16_0 1.6.46
+ png_set_text_compression_method@PNG16_0 1.6.46
+ png_init_io@PNG16_0 1.6.46
+ png_set_error_fn@PNG16_0 1.6.46
+ png_get_error_ptr@PNG16_0 1.6.46
+ png_set_write_fn@PNG16_0 1.6.46
+ png_set_read_fn@PNG16_0 1.6.46
+ png_get_io_ptr@PNG16_0 1.6.46
+ png_set_read_status_fn@PNG16_0 1.6.46
+ png_set_write_status_fn@PNG16_0 1.6.46
+ png_set_mem_fn@PNG16_0 1.6.46
+ png_get_mem_ptr@PNG16_0 1.6.46
+ png_set_read_user_transform_fn@PNG16_0 1.6.46
+ png_set_write_user_transform_fn@PNG16_0 1.6.46
+ png_set_user_transform_info@PNG16_0 1.6.46
+ png_get_user_transform_ptr@PNG16_0 1.6.46
+ png_get_current_row_number@PNG16_0 1.6.46
+ png_get_current_pass_number@PNG16_0 1.6.46
+ png_set_read_user_chunk_fn@PNG16_0 1.6.46
+ png_get_user_chunk_ptr@PNG16_0 1.6.46
+ png_set_progressive_read_fn@PNG16_0 1.6.46
+ png_get_progressive_ptr@PNG16_0 1.6.46
+ png_process_data@PNG16_0 1.6.46
+ png_process_data_pause@PNG16_0 1.6.46
+ png_process_data_skip@PNG16_0 1.6.46
+ png_progressive_combine_row@PNG16_0 1.6.46
+ png_malloc@PNG16_0 1.6.46
+ png_calloc@PNG16_0 1.6.46
+ png_malloc_warn@PNG16_0 1.6.46
+ png_free@PNG16_0 1.6.46
+ png_free_data@PNG16_0 1.6.46
+ png_data_freer@PNG16_0 1.6.46
+ png_malloc_default@PNG16_0 1.6.46
+ png_free_default@PNG16_0 1.6.46
+ png_error@PNG16_0 1.6.46
+ png_chunk_error@PNG16_0 1.6.46
+ png_warning@PNG16_0 1.6.46
+ png_chunk_warning@PNG16_0 1.6.46
+ png_benign_error@PNG16_0 1.6.46
+ png_chunk_benign_error@PNG16_0 1.6.46
+ png_set_benign_errors@PNG16_0 1.6.46
+ png_get_valid@PNG16_0 1.6.46
+ png_get_rowbytes@PNG16_0 1.6.46
+ png_get_rows@PNG16_0 1.6.46
+ png_set_rows@PNG16_0 1.6.46
+ png_get_channels@PNG16_0 1.6.46
+ png_get_image_width@PNG16_0 1.6.46
+ png_get_image_height@PNG16_0 1.6.46
+ png_get_bit_depth@PNG16_0 1.6.46
+ png_get_color_type@PNG16_0 1.6.46
+ png_get_filter_type@PNG16_0 1.6.46
+ png_get_interlace_type@PNG16_0 1.6.46
+ png_get_compression_type@PNG16_0 1.6.46
+ png_get_pixels_per_meter@PNG16_0 1.6.46
+ png_get_x_pixels_per_meter@PNG16_0 1.6.46
+ png_get_y_pixels_per_meter@PNG16_0 1.6.46
+ png_get_pixel_aspect_ratio@PNG16_0 1.6.46
+ png_get_pixel_aspect_ratio_fixed@PNG16_0 1.6.46
+ png_get_x_offset_pixels@PNG16_0 1.6.46
+ png_get_y_offset_pixels@PNG16_0 1.6.46
+ png_get_x_offset_microns@PNG16_0 1.6.46
+ png_get_y_offset_microns@PNG16_0 1.6.46
+ png_get_signature@PNG16_0 1.6.46
+ png_get_bKGD@PNG16_0 1.6.46
+ png_set_bKGD@PNG16_0 1.6.46
+ png_get_cHRM@PNG16_0 1.6.46
+ png_get_cHRM_XYZ@PNG16_0 1.6.46
+ png_get_cHRM_fixed@PNG16_0 1.6.46
+ png_get_cHRM_XYZ_fixed@PNG16_0 1.6.46
+ png_set_cHRM@PNG16_0 1.6.46
+ png_set_cHRM_XYZ@PNG16_0 1.6.46
+ png_set_cHRM_fixed@PNG16_0 1.6.46
+ png_set_cHRM_XYZ_fixed@PNG16_0 1.6.46
+ png_get_cICP@PNG16_0 1.6.46
+ png_set_cICP@PNG16_0 1.6.46
+ png_get_cLLI@PNG16_0 1.6.46
+ png_get_cLLI_fixed@PNG16_0 1.6.46
+ png_set_cLLI@PNG16_0 1.6.46
+ png_set_cLLI_fixed@PNG16_0 1.6.46
+ png_get_eXIf@PNG16_0 1.6.46
+ png_set_eXIf@PNG16_0 1.6.46
+ png_get_eXIf_1@PNG16_0 1.6.46
+ png_set_eXIf_1@PNG16_0 1.6.46
+ png_get_gAMA@PNG16_0 1.6.46
+ png_get_gAMA_fixed@PNG16_0 1.6.46
+ png_set_gAMA@PNG16_0 1.6.46
+ png_set_gAMA_fixed@PNG16_0 1.6.46
+ png_get_hIST@PNG16_0 1.6.46
+ png_set_hIST@PNG16_0 1.6.46
+ png_get_IHDR@PNG16_0 1.6.46
+ png_set_IHDR@PNG16_0 1.6.46
+ png_get_mDCV@PNG16_0 1.6.46
+ png_get_mDCV_fixed@PNG16_0 1.6.46
+ png_set_mDCV@PNG16_0 1.6.46
+ png_set_mDCV_fixed@PNG16_0 1.6.46
+ png_get_oFFs@PNG16_0 1.6.46
+ png_set_oFFs@PNG16_0 1.6.46
+ png_get_pCAL@PNG16_0 1.6.46
+ png_set_pCAL@PNG16_0 1.6.46
+ png_get_pHYs@PNG16_0 1.6.46
+ png_set_pHYs@PNG16_0 1.6.46
+ png_get_PLTE@PNG16_0 1.6.46
+ png_set_PLTE@PNG16_0 1.6.46
+ png_get_sBIT@PNG16_0 1.6.46
+ png_set_sBIT@PNG16_0 1.6.46
+ png_get_sRGB@PNG16_0 1.6.46
+ png_set_sRGB@PNG16_0 1.6.46
+ png_set_sRGB_gAMA_and_cHRM@PNG16_0 1.6.46
+ png_get_iCCP@PNG16_0 1.6.46
+ png_set_iCCP@PNG16_0 1.6.46
+ png_get_sPLT@PNG16_0 1.6.46
+ png_set_sPLT@PNG16_0 1.6.46
+ png_get_text@PNG16_0 1.6.46
+ png_set_text@PNG16_0 1.6.46
+ png_get_tIME@PNG16_0 1.6.46
+ png_set_tIME@PNG16_0 1.6.46
+ png_get_tRNS@PNG16_0 1.6.46
+ png_set_tRNS@PNG16_0 1.6.46
+ png_get_sCAL@PNG16_0 1.6.46
+ png_get_sCAL_fixed@PNG16_0 1.6.46
+ png_get_sCAL_s@PNG16_0 1.6.46
+ png_set_sCAL@PNG16_0 1.6.46
+ png_set_sCAL_fixed@PNG16_0 1.6.46
+ png_set_sCAL_s@PNG16_0 1.6.46
+ png_set_keep_unknown_chunks@PNG16_0 1.6.46
+ png_handle_as_unknown@PNG16_0 1.6.46
+ png_set_unknown_chunks@PNG16_0 1.6.46
+ png_set_unknown_chunk_location@PNG16_0 1.6.46
+ png_get_unknown_chunks@PNG16_0 1.6.46
+ png_set_invalid@PNG16_0 1.6.46
+ png_read_png@PNG16_0 1.6.46
+ png_write_png@PNG16_0 1.6.46
+ png_get_copyright@PNG16_0 1.6.46
+ png_get_header_ver@PNG16_0 1.6.46
+ png_get_header_version@PNG16_0 1.6.46
+ png_get_libpng_ver@PNG16_0 1.6.46
+ png_permit_mng_features@PNG16_0 1.6.46
+ png_set_user_limits@PNG16_0 1.6.46
+ png_get_user_width_max@PNG16_0 1.6.46
+ png_get_user_height_max@PNG16_0 1.6.46
+ png_set_chunk_cache_max@PNG16_0 1.6.46
+ png_get_chunk_cache_max@PNG16_0 1.6.46
+ png_set_chunk_malloc_max@PNG16_0 1.6.46
+ png_get_chunk_malloc_max@PNG16_0 1.6.46
+ png_get_pixels_per_inch@PNG16_0 1.6.46
+ png_get_x_pixels_per_inch@PNG16_0 1.6.46
+ png_get_y_pixels_per_inch@PNG16_0 1.6.46
+ png_get_x_offset_inches@PNG16_0 1.6.46
+ png_get_x_offset_inches_fixed@PNG16_0 1.6.46
+ png_get_y_offset_inches@PNG16_0 1.6.46
+ png_get_y_offset_inches_fixed@PNG16_0 1.6.46
+ png_get_pHYs_dpi@PNG16_0 1.6.46
+ png_get_io_state@PNG16_0 1.6.46
+ png_get_io_chunk_type@PNG16_0 1.6.46
+ png_get_uint_32@PNG16_0 1.6.46
+ png_get_uint_16@PNG16_0 1.6.46
+ png_get_int_32@PNG16_0 1.6.46
+ png_get_uint_31@PNG16_0 1.6.46
+ png_save_uint_32@PNG16_0 1.6.46
+ png_save_int_32@PNG16_0 1.6.46
+ png_save_uint_16@PNG16_0 1.6.46
+ png_set_check_for_invalid_index@PNG16_0 1.6.46
+ png_get_palette_max@PNG16_0 1.6.46
+ png_image_begin_read_from_file@PNG16_0 1.6.46
+ png_image_begin_read_from_stdio@PNG16_0 1.6.46
+ png_image_begin_read_from_memory@PNG16_0 1.6.46
+ png_image_finish_read@PNG16_0 1.6.46
+ png_image_free@PNG16_0 1.6.46
+ png_image_write_to_file@PNG16_0 1.6.46
+ png_image_write_to_stdio@PNG16_0 1.6.46
+ png_image_write_to_memory@PNG16_0 1.6.46
+ png_set_option@PNG16_0 1.6.46
--- /dev/null
+.TH libpng16-config 1 "15 Apr 2011" "libpng" "Debian GNU/Linux"
+.SH NAME
+libpng16-config \- get information about installed libpng library
+.SH SYNOPSIS
+.B libpng16-config
+[\fIOPTION\fR] ...
+.SH DESCRIPTION
+Provides information about libpng library.
+
+Known values for OPTION are:
+.TP
+\fB\-\-prefix\fR
+print libpng prefix
+.TP
+\fB\-\-libdir\fR
+print path to directory containing library
+.TP
+\fB\-\-libs\fR
+print library linking information
+.TP
+\fB\-\-ccopts\fR
+print compiler options
+.TP
+\fB\-\-cppflags\fR
+print pre-processor flags
+.TP
+\fB\-\-cflags\fR
+print preprocessor flags, I_opts, and compiler options
+.TP
+\fB\-\-I_opts\fR
+print "-I" include options
+.TP
+\fB\-\-L_opts\fR
+print linker "-L" flags for dynamic linking
+.TP
+\fB\-\-R_opts\fR
+print dynamic linker "-R" or "-rpath" flags
+.TP
+\fB\-\-ldopts\fR
+print linker options
+.TP
+\fB\-\-ldflags\fR
+print linker flags (ldopts, L_opts, R_opts, and libs)
+.TP
+\fB\-\-static\fR
+revise subsequent outputs for static linking
+.TP
+\fB\-\-help\fR
+print this help and exit
+.TP
+\fB\-\-version\fR
+print version information
+.SH "AUTHOR"
+This manpage has been written by Junichi Uekawa <dancer@debian.org>
+for Debian GNU/Linux system, with the help of help2man, and
+may be used by others.
+
+
--- /dev/null
+libpng.3
+png.5
--- /dev/null
+usr/bin/png-fix-itxt
+usr/bin/pngfix
--- /dev/null
+usr/lib/*/libpng*.la
--- /dev/null
+diff -Naru libpng-1.6.39.org/png.h libpng-1.6.39/png.h
+--- libpng-1.6.39.org/png.h 2022-11-24 08:37:51.507052183 +0900
++++ libpng-1.6.39/png.h 2022-11-24 08:41:17.785489740 +0900
+@@ -330,6 +330,10 @@
+ # include "pnglibconf.h"
+ #endif
+
++#define PNG_APNG_SUPPORTED
++#define PNG_READ_APNG_SUPPORTED
++#define PNG_WRITE_APNG_SUPPORTED
++
+ #ifndef PNG_VERSION_INFO_ONLY
+ /* Machine specific configuration. */
+ # include "pngconf.h"
+@@ -425,6 +429,17 @@
+ * See pngconf.h for base types that vary by machine/system
+ */
+
++#ifdef PNG_APNG_SUPPORTED
++/* dispose_op flags from inside fcTL */
++#define PNG_DISPOSE_OP_NONE 0x00U
++#define PNG_DISPOSE_OP_BACKGROUND 0x01U
++#define PNG_DISPOSE_OP_PREVIOUS 0x02U
++
++/* blend_op flags from inside fcTL */
++#define PNG_BLEND_OP_SOURCE 0x00U
++#define PNG_BLEND_OP_OVER 0x01U
++#endif /* PNG_APNG_SUPPORTED */
++
+ /* This triggers a compiler error in png.c, if png.c and png.h
+ * do not agree upon the version number.
+ */
+@@ -746,6 +761,10 @@
+ #define PNG_INFO_sCAL 0x4000U /* ESR, 1.0.6 */
+ #define PNG_INFO_IDAT 0x8000U /* ESR, 1.0.6 */
+ #define PNG_INFO_eXIf 0x10000U /* GR-P, 1.6.31 */
++#ifdef PNG_APNG_SUPPORTED
++#define PNG_INFO_acTL 0x20000U
++#define PNG_INFO_fcTL 0x40000U
++#endif
+
+ /* This is used for the transformation routines, as some of them
+ * change these values for the row. It also should enable using
+@@ -783,6 +802,10 @@
+ #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
+ typedef PNG_CALLBACK(void, *png_progressive_info_ptr, (png_structp, png_infop));
+ typedef PNG_CALLBACK(void, *png_progressive_end_ptr, (png_structp, png_infop));
++#ifdef PNG_APNG_SUPPORTED
++typedef PNG_CALLBACK(void, *png_progressive_frame_ptr, (png_structp,
++ png_uint_32));
++#endif
+
+ /* The following callback receives png_uint_32 row_number, int pass for the
+ * png_bytep data of the row. When transforming an interlaced image the
+@@ -3226,6 +3249,74 @@
+ /*******************************************************************************
+ * END OF HARDWARE AND SOFTWARE OPTIONS
+ ******************************************************************************/
++#ifdef PNG_APNG_SUPPORTED
++PNG_EXPORT(250, png_uint_32, png_get_acTL, (png_structp png_ptr,
++ png_infop info_ptr, png_uint_32 *num_frames, png_uint_32 *num_plays));
++
++PNG_EXPORT(251, png_uint_32, png_set_acTL, (png_structp png_ptr,
++ png_infop info_ptr, png_uint_32 num_frames, png_uint_32 num_plays));
++
++PNG_EXPORT(252, png_uint_32, png_get_num_frames, (png_structp png_ptr,
++ png_infop info_ptr));
++
++PNG_EXPORT(253, png_uint_32, png_get_num_plays, (png_structp png_ptr,
++ png_infop info_ptr));
++
++PNG_EXPORT(254, png_uint_32, png_get_next_frame_fcTL,
++ (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width,
++ png_uint_32 *height, png_uint_32 *x_offset, png_uint_32 *y_offset,
++ png_uint_16 *delay_num, png_uint_16 *delay_den, png_byte *dispose_op,
++ png_byte *blend_op));
++
++PNG_EXPORT(255, png_uint_32, png_set_next_frame_fcTL,
++ (png_structp png_ptr, png_infop info_ptr, png_uint_32 width,
++ png_uint_32 height, png_uint_32 x_offset, png_uint_32 y_offset,
++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
++ png_byte blend_op));
++
++PNG_EXPORT(256, png_uint_32, png_get_next_frame_width,
++ (png_structp png_ptr, png_infop info_ptr));
++PNG_EXPORT(257, png_uint_32, png_get_next_frame_height,
++ (png_structp png_ptr, png_infop info_ptr));
++PNG_EXPORT(258, png_uint_32, png_get_next_frame_x_offset,
++ (png_structp png_ptr, png_infop info_ptr));
++PNG_EXPORT(259, png_uint_32, png_get_next_frame_y_offset,
++ (png_structp png_ptr, png_infop info_ptr));
++PNG_EXPORT(260, png_uint_16, png_get_next_frame_delay_num,
++ (png_structp png_ptr, png_infop info_ptr));
++PNG_EXPORT(261, png_uint_16, png_get_next_frame_delay_den,
++ (png_structp png_ptr, png_infop info_ptr));
++PNG_EXPORT(262, png_byte, png_get_next_frame_dispose_op,
++ (png_structp png_ptr, png_infop info_ptr));
++PNG_EXPORT(263, png_byte, png_get_next_frame_blend_op,
++ (png_structp png_ptr, png_infop info_ptr));
++PNG_EXPORT(264, png_byte, png_get_first_frame_is_hidden,
++ (png_structp png_ptr, png_infop info_ptr));
++PNG_EXPORT(265, png_uint_32, png_set_first_frame_is_hidden,
++ (png_structp png_ptr, png_infop info_ptr, png_byte is_hidden));
++
++#ifdef PNG_READ_APNG_SUPPORTED
++PNG_EXPORT(266, void, png_read_frame_head, (png_structp png_ptr,
++ png_infop info_ptr));
++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
++PNG_EXPORT(267, void, png_set_progressive_frame_fn, (png_structp png_ptr,
++ png_progressive_frame_ptr frame_info_fn,
++ png_progressive_frame_ptr frame_end_fn));
++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
++#endif /* PNG_READ_APNG_SUPPORTED */
++
++#ifdef PNG_WRITE_APNG_SUPPORTED
++PNG_EXPORT(268, void, png_write_frame_head, (png_structp png_ptr,
++ png_infop info_ptr, png_bytepp row_pointers,
++ png_uint_32 width, png_uint_32 height,
++ png_uint_32 x_offset, png_uint_32 y_offset,
++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
++ png_byte blend_op));
++
++PNG_EXPORT(269, void, png_write_frame_tail, (png_structp png_ptr,
++ png_infop info_ptr));
++#endif /* PNG_WRITE_APNG_SUPPORTED */
++#endif /* PNG_APNG_SUPPORTED */
+
+ /* Maintainer: Put new public prototypes here ^, in libpng.3, in project
+ * defs, and in scripts/symbols.def.
+@@ -3235,7 +3326,11 @@
+ * one to use is one more than this.)
+ */
+ #ifdef PNG_EXPORT_LAST_ORDINAL
++#ifdef PNG_APNG_SUPPORTED
++ PNG_EXPORT_LAST_ORDINAL(269);
++#else
+ PNG_EXPORT_LAST_ORDINAL(249);
++#endif /* PNG_APNG_SUPPORTED */
+ #endif
+
+ #ifdef __cplusplus
+diff -Naru libpng-1.6.39.org/pngget.c libpng-1.6.39/pngget.c
+--- libpng-1.6.39.org/pngget.c 2022-11-24 08:37:51.507052183 +0900
++++ libpng-1.6.39/pngget.c 2022-11-24 08:41:17.785489740 +0900
+@@ -1246,4 +1246,166 @@
+ # endif
+ #endif
+
++#ifdef PNG_APNG_SUPPORTED
++png_uint_32 PNGAPI
++png_get_acTL(png_structp png_ptr, png_infop info_ptr,
++ png_uint_32 *num_frames, png_uint_32 *num_plays)
++{
++ png_debug1(1, "in %s retrieval function", "acTL");
++
++ if (png_ptr != NULL && info_ptr != NULL &&
++ (info_ptr->valid & PNG_INFO_acTL) &&
++ num_frames != NULL && num_plays != NULL)
++ {
++ *num_frames = info_ptr->num_frames;
++ *num_plays = info_ptr->num_plays;
++ return (1);
++ }
++
++ return (0);
++}
++
++png_uint_32 PNGAPI
++png_get_num_frames(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_get_num_frames()");
++
++ if (png_ptr != NULL && info_ptr != NULL)
++ return (info_ptr->num_frames);
++ return (0);
++}
++
++png_uint_32 PNGAPI
++png_get_num_plays(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_get_num_plays()");
++
++ if (png_ptr != NULL && info_ptr != NULL)
++ return (info_ptr->num_plays);
++ return (0);
++}
++
++png_uint_32 PNGAPI
++png_get_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr,
++ png_uint_32 *width, png_uint_32 *height,
++ png_uint_32 *x_offset, png_uint_32 *y_offset,
++ png_uint_16 *delay_num, png_uint_16 *delay_den,
++ png_byte *dispose_op, png_byte *blend_op)
++{
++ png_debug1(1, "in %s retrieval function", "fcTL");
++
++ if (png_ptr != NULL && info_ptr != NULL &&
++ (info_ptr->valid & PNG_INFO_fcTL) &&
++ width != NULL && height != NULL &&
++ x_offset != NULL && y_offset != NULL &&
++ delay_num != NULL && delay_den != NULL &&
++ dispose_op != NULL && blend_op != NULL)
++ {
++ *width = info_ptr->next_frame_width;
++ *height = info_ptr->next_frame_height;
++ *x_offset = info_ptr->next_frame_x_offset;
++ *y_offset = info_ptr->next_frame_y_offset;
++ *delay_num = info_ptr->next_frame_delay_num;
++ *delay_den = info_ptr->next_frame_delay_den;
++ *dispose_op = info_ptr->next_frame_dispose_op;
++ *blend_op = info_ptr->next_frame_blend_op;
++ return (1);
++ }
++
++ return (0);
++}
++
++png_uint_32 PNGAPI
++png_get_next_frame_width(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_get_next_frame_width()");
++
++ if (png_ptr != NULL && info_ptr != NULL)
++ return (info_ptr->next_frame_width);
++ return (0);
++}
++
++png_uint_32 PNGAPI
++png_get_next_frame_height(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_get_next_frame_height()");
++
++ if (png_ptr != NULL && info_ptr != NULL)
++ return (info_ptr->next_frame_height);
++ return (0);
++}
++
++png_uint_32 PNGAPI
++png_get_next_frame_x_offset(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_get_next_frame_x_offset()");
++
++ if (png_ptr != NULL && info_ptr != NULL)
++ return (info_ptr->next_frame_x_offset);
++ return (0);
++}
++
++png_uint_32 PNGAPI
++png_get_next_frame_y_offset(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_get_next_frame_y_offset()");
++
++ if (png_ptr != NULL && info_ptr != NULL)
++ return (info_ptr->next_frame_y_offset);
++ return (0);
++}
++
++png_uint_16 PNGAPI
++png_get_next_frame_delay_num(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_get_next_frame_delay_num()");
++
++ if (png_ptr != NULL && info_ptr != NULL)
++ return (info_ptr->next_frame_delay_num);
++ return (0);
++}
++
++png_uint_16 PNGAPI
++png_get_next_frame_delay_den(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_get_next_frame_delay_den()");
++
++ if (png_ptr != NULL && info_ptr != NULL)
++ return (info_ptr->next_frame_delay_den);
++ return (0);
++}
++
++png_byte PNGAPI
++png_get_next_frame_dispose_op(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_get_next_frame_dispose_op()");
++
++ if (png_ptr != NULL && info_ptr != NULL)
++ return (info_ptr->next_frame_dispose_op);
++ return (0);
++}
++
++png_byte PNGAPI
++png_get_next_frame_blend_op(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_get_next_frame_blend_op()");
++
++ if (png_ptr != NULL && info_ptr != NULL)
++ return (info_ptr->next_frame_blend_op);
++ return (0);
++}
++
++png_byte PNGAPI
++png_get_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_first_frame_is_hidden()");
++
++ if (png_ptr != NULL)
++ return (png_byte)(png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN);
++
++ PNG_UNUSED(info_ptr)
++
++ return 0;
++}
++#endif /* PNG_APNG_SUPPORTED */
+ #endif /* READ || WRITE */
+diff -Naru libpng-1.6.39.org/pnginfo.h libpng-1.6.39/pnginfo.h
+--- libpng-1.6.39.org/pnginfo.h 2022-11-24 08:37:51.507052183 +0900
++++ libpng-1.6.39/pnginfo.h 2022-11-24 08:41:17.785489740 +0900
+@@ -263,5 +263,18 @@
+ png_bytepp row_pointers; /* the image bits */
+ #endif
+
++#ifdef PNG_APNG_SUPPORTED
++ png_uint_32 num_frames; /* including default image */
++ png_uint_32 num_plays;
++ png_uint_32 next_frame_width;
++ png_uint_32 next_frame_height;
++ png_uint_32 next_frame_x_offset;
++ png_uint_32 next_frame_y_offset;
++ png_uint_16 next_frame_delay_num;
++ png_uint_16 next_frame_delay_den;
++ png_byte next_frame_dispose_op;
++ png_byte next_frame_blend_op;
++#endif
++
+ };
+ #endif /* PNGINFO_H */
+diff -Naru libpng-1.6.39.org/pngpread.c libpng-1.6.39/pngpread.c
+--- libpng-1.6.39.org/pngpread.c 2022-11-24 08:37:51.507052183 +0900
++++ libpng-1.6.39/pngpread.c 2022-11-24 08:41:17.785489740 +0900
+@@ -195,6 +195,106 @@
+
+ chunk_name = png_ptr->chunk_name;
+
++#ifdef PNG_READ_APNG_SUPPORTED
++ if (png_ptr->num_frames_read > 0 &&
++ png_ptr->num_frames_read < info_ptr->num_frames)
++ {
++ if (chunk_name == png_IDAT)
++ {
++ /* Discard trailing IDATs for the first frame */
++ if (png_ptr->mode & PNG_HAVE_fcTL || png_ptr->num_frames_read > 1)
++ png_error(png_ptr, "out of place IDAT");
++
++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
++ {
++ png_push_save_buffer(png_ptr);
++ return;
++ }
++
++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
++ return;
++ }
++ else if (chunk_name == png_fdAT)
++ {
++ if (png_ptr->buffer_size < 4)
++ {
++ png_push_save_buffer(png_ptr);
++ return;
++ }
++
++ png_ensure_sequence_number(png_ptr, 4);
++
++ if (!(png_ptr->mode & PNG_HAVE_fcTL))
++ {
++ /* Discard trailing fdATs for frames other than the first */
++ if (png_ptr->num_frames_read < 2)
++ png_error(png_ptr, "out of place fdAT");
++
++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
++ {
++ png_push_save_buffer(png_ptr);
++ return;
++ }
++
++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
++ return;
++ }
++
++ else
++ {
++ /* frame data follows */
++ png_ptr->idat_size = png_ptr->push_length - 4;
++ png_ptr->mode |= PNG_HAVE_IDAT;
++ png_ptr->process_mode = PNG_READ_IDAT_MODE;
++
++ return;
++ }
++ }
++
++ else if (chunk_name == png_fcTL)
++ {
++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
++ {
++ png_push_save_buffer(png_ptr);
++ return;
++ }
++
++ png_read_reset(png_ptr);
++ png_ptr->mode &= ~PNG_HAVE_fcTL;
++
++ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length);
++
++ if (!(png_ptr->mode & PNG_HAVE_fcTL))
++ png_error(png_ptr, "missing required fcTL chunk");
++
++ png_read_reinit(png_ptr, info_ptr);
++ png_progressive_read_reset(png_ptr);
++
++ if (png_ptr->frame_info_fn != NULL)
++ (*(png_ptr->frame_info_fn))(png_ptr, png_ptr->num_frames_read);
++
++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
++
++ return;
++ }
++
++ else
++ {
++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
++ {
++ png_push_save_buffer(png_ptr);
++ return;
++ }
++ png_warning(png_ptr, "Skipped (ignored) a chunk "
++ "between APNG chunks");
++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
++ return;
++ }
++
++ return;
++ }
++#endif /* PNG_READ_APNG_SUPPORTED */
++
+ if (chunk_name == png_IDAT)
+ {
+ if ((png_ptr->mode & PNG_AFTER_IDAT) != 0)
+@@ -261,6 +361,9 @@
+
+ else if (chunk_name == png_IDAT)
+ {
++#ifdef PNG_READ_APNG_SUPPORTED
++ png_have_info(png_ptr, info_ptr);
++#endif
+ png_ptr->idat_size = png_ptr->push_length;
+ png_ptr->process_mode = PNG_READ_IDAT_MODE;
+ png_push_have_info(png_ptr, info_ptr);
+@@ -406,6 +509,30 @@
+ png_handle_iTXt(png_ptr, info_ptr, png_ptr->push_length);
+ }
+ #endif
++#ifdef PNG_READ_APNG_SUPPORTED
++ else if (chunk_name == png_acTL)
++ {
++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
++ {
++ png_push_save_buffer(png_ptr);
++ return;
++ }
++
++ png_handle_acTL(png_ptr, info_ptr, png_ptr->push_length);
++ }
++
++ else if (chunk_name == png_fcTL)
++ {
++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
++ {
++ png_push_save_buffer(png_ptr);
++ return;
++ }
++
++ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length);
++ }
++
++#endif /* PNG_READ_APNG_SUPPORTED */
+
+ else
+ {
+@@ -539,7 +666,11 @@
+ png_byte chunk_tag[4];
+
+ /* TODO: this code can be commoned up with the same code in push_read */
++#ifdef PNG_READ_APNG_SUPPORTED
++ PNG_PUSH_SAVE_BUFFER_IF_LT(12)
++#else
+ PNG_PUSH_SAVE_BUFFER_IF_LT(8)
++#endif
+ png_push_fill_buffer(png_ptr, chunk_length, 4);
+ png_ptr->push_length = png_get_uint_31(png_ptr, chunk_length);
+ png_reset_crc(png_ptr);
+@@ -547,17 +678,64 @@
+ png_ptr->chunk_name = PNG_CHUNK_FROM_STRING(chunk_tag);
+ png_ptr->mode |= PNG_HAVE_CHUNK_HEADER;
+
++#ifdef PNG_READ_APNG_SUPPORTED
++ if (png_ptr->chunk_name != png_fdAT && png_ptr->num_frames_read > 0)
++ {
++ if (png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED)
++ {
++ png_ptr->process_mode = PNG_READ_CHUNK_MODE;
++ if (png_ptr->frame_end_fn != NULL)
++ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read);
++ png_ptr->num_frames_read++;
++ return;
++ }
++ else
++ {
++ if (png_ptr->chunk_name == png_IEND)
++ png_error(png_ptr, "Not enough image data");
++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
++ {
++ png_push_save_buffer(png_ptr);
++ return;
++ }
++ png_warning(png_ptr, "Skipping (ignoring) a chunk between "
++ "APNG chunks");
++ png_crc_finish(png_ptr, png_ptr->push_length);
++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
++ return;
++ }
++ }
++ else
++#endif
++#ifdef PNG_READ_APNG_SUPPORTED
++ if (png_ptr->chunk_name != png_IDAT && png_ptr->num_frames_read == 0)
++#else
+ if (png_ptr->chunk_name != png_IDAT)
++#endif
+ {
+ png_ptr->process_mode = PNG_READ_CHUNK_MODE;
+
+ if ((png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED) == 0)
+ png_error(png_ptr, "Not enough compressed data");
+
++#ifdef PNG_READ_APNG_SUPPORTED
++ if (png_ptr->frame_end_fn != NULL)
++ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read);
++ png_ptr->num_frames_read++;
++#endif
++
+ return;
+ }
+
+ png_ptr->idat_size = png_ptr->push_length;
++
++#ifdef PNG_READ_APNG_SUPPORTED
++ if (png_ptr->num_frames_read > 0)
++ {
++ png_ensure_sequence_number(png_ptr, 4);
++ png_ptr->idat_size -= 4;
++ }
++#endif
+ }
+
+ if (png_ptr->idat_size != 0 && png_ptr->save_buffer_size != 0)
+@@ -631,6 +809,15 @@
+ if (!(buffer_length > 0) || buffer == NULL)
+ png_error(png_ptr, "No IDAT data (internal error)");
+
++#ifdef PNG_READ_APNG_SUPPORTED
++ /* If the app is not APNG-aware, decode only the first frame */
++ if (!(png_ptr->apng_flags & PNG_APNG_APP) && png_ptr->num_frames_read > 0)
++ {
++ png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED;
++ return;
++ }
++#endif
++
+ /* This routine must process all the data it has been given
+ * before returning, calling the row callback as required to
+ * handle the uncompressed results.
+@@ -1085,6 +1272,18 @@
+ png_set_read_fn(png_ptr, progressive_ptr, png_push_fill_buffer);
+ }
+
++#ifdef PNG_READ_APNG_SUPPORTED
++void PNGAPI
++png_set_progressive_frame_fn(png_structp png_ptr,
++ png_progressive_frame_ptr frame_info_fn,
++ png_progressive_frame_ptr frame_end_fn)
++{
++ png_ptr->frame_info_fn = frame_info_fn;
++ png_ptr->frame_end_fn = frame_end_fn;
++ png_ptr->apng_flags |= PNG_APNG_APP;
++}
++#endif
++
+ png_voidp PNGAPI
+ png_get_progressive_ptr(png_const_structrp png_ptr)
+ {
+diff -Naru libpng-1.6.39.org/pngpriv.h libpng-1.6.39/pngpriv.h
+--- libpng-1.6.39.org/pngpriv.h 2022-11-24 08:37:51.508052181 +0900
++++ libpng-1.6.39/pngpriv.h 2022-11-24 08:41:17.785489740 +0900
+@@ -628,6 +628,10 @@
+ #define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000U /* Have another chunk after IDAT */
+ /* 0x4000U (unused) */
+ #define PNG_IS_READ_STRUCT 0x8000U /* Else is a write struct */
++#ifdef PNG_APNG_SUPPORTED
++#define PNG_HAVE_acTL 0x10000U
++#define PNG_HAVE_fcTL 0x20000U
++#endif
+
+ /* Flags for the transformations the PNG library does on the image data */
+ #define PNG_BGR 0x0001U
+@@ -864,6 +868,16 @@
+ #define png_tRNS PNG_U32(116, 82, 78, 83)
+ #define png_zTXt PNG_U32(122, 84, 88, 116)
+
++#ifdef PNG_APNG_SUPPORTED
++#define png_acTL PNG_U32( 97, 99, 84, 76)
++#define png_fcTL PNG_U32(102, 99, 84, 76)
++#define png_fdAT PNG_U32(102, 100, 65, 84)
++
++/* For png_struct.apng_flags: */
++#define PNG_FIRST_FRAME_HIDDEN 0x0001U
++#define PNG_APNG_APP 0x0002U
++#endif
++
+ /* The following will work on (signed char*) strings, whereas the get_uint_32
+ * macro will fail on top-bit-set values because of the sign extension.
+ */
+@@ -1635,6 +1649,47 @@
+ */
+ #endif
+
++#ifdef PNG_APNG_SUPPORTED
++PNG_INTERNAL_FUNCTION(void,png_ensure_fcTL_is_valid,(png_structp png_ptr,
++ png_uint_32 width, png_uint_32 height,
++ png_uint_32 x_offset, png_uint_32 y_offset,
++ png_uint_16 delay_num, png_uint_16 delay_den,
++ png_byte dispose_op, png_byte blend_op), PNG_EMPTY);
++
++#ifdef PNG_READ_APNG_SUPPORTED
++PNG_INTERNAL_FUNCTION(void,png_handle_acTL,(png_structp png_ptr, png_infop info_ptr,
++ png_uint_32 length),PNG_EMPTY);
++PNG_INTERNAL_FUNCTION(void,png_handle_fcTL,(png_structp png_ptr, png_infop info_ptr,
++ png_uint_32 length),PNG_EMPTY);
++PNG_INTERNAL_FUNCTION(void,png_handle_fdAT,(png_structp png_ptr, png_infop info_ptr,
++ png_uint_32 length),PNG_EMPTY);
++PNG_INTERNAL_FUNCTION(void,png_have_info,(png_structp png_ptr, png_infop info_ptr),PNG_EMPTY);
++PNG_INTERNAL_FUNCTION(void,png_ensure_sequence_number,(png_structp png_ptr,
++ png_uint_32 length),PNG_EMPTY);
++PNG_INTERNAL_FUNCTION(void,png_read_reset,(png_structp png_ptr),PNG_EMPTY);
++PNG_INTERNAL_FUNCTION(void,png_read_reinit,(png_structp png_ptr,
++ png_infop info_ptr),PNG_EMPTY);
++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
++PNG_INTERNAL_FUNCTION(void,png_progressive_read_reset,(png_structp png_ptr),PNG_EMPTY);
++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
++#endif /* PNG_READ_APNG_SUPPORTED */
++
++#ifdef PNG_WRITE_APNG_SUPPORTED
++PNG_INTERNAL_FUNCTION(void,png_write_acTL,(png_structp png_ptr,
++ png_uint_32 num_frames, png_uint_32 num_plays),PNG_EMPTY);
++PNG_INTERNAL_FUNCTION(void,png_write_fcTL,(png_structp png_ptr,
++ png_uint_32 width, png_uint_32 height,
++ png_uint_32 x_offset, png_uint_32 y_offset,
++ png_uint_16 delay_num, png_uint_16 delay_den,
++ png_byte dispose_op, png_byte blend_op),PNG_EMPTY);
++PNG_INTERNAL_FUNCTION(void,png_write_fdAT,(png_structp png_ptr,
++ png_const_bytep data, png_size_t length),PNG_EMPTY);
++PNG_INTERNAL_FUNCTION(void,png_write_reset,(png_structp png_ptr),PNG_EMPTY);
++PNG_INTERNAL_FUNCTION(void,png_write_reinit,(png_structp png_ptr,
++ png_infop info_ptr, png_uint_32 width, png_uint_32 height),PNG_EMPTY);
++#endif /* PNG_WRITE_APNG_SUPPORTED */
++#endif /* PNG_APNG_SUPPORTED */
++
+ /* Added at libpng version 1.4.0 */
+ #ifdef PNG_COLORSPACE_SUPPORTED
+ /* These internal functions are for maintaining the colorspace structure within
+diff -Naru libpng-1.6.39.org/pngread.c libpng-1.6.39/pngread.c
+--- libpng-1.6.39.org/pngread.c 2022-11-24 08:37:51.508052181 +0900
++++ libpng-1.6.39/pngread.c 2022-11-24 08:41:17.786489737 +0900
+@@ -161,6 +161,9 @@
+
+ else if (chunk_name == png_IDAT)
+ {
++#ifdef PNG_READ_APNG_SUPPORTED
++ png_have_info(png_ptr, info_ptr);
++#endif
+ png_ptr->idat_size = length;
+ break;
+ }
+@@ -255,6 +258,17 @@
+ png_handle_iTXt(png_ptr, info_ptr, length);
+ #endif
+
++#ifdef PNG_READ_APNG_SUPPORTED
++ else if (chunk_name == png_acTL)
++ png_handle_acTL(png_ptr, info_ptr, length);
++
++ else if (chunk_name == png_fcTL)
++ png_handle_fcTL(png_ptr, info_ptr, length);
++
++ else if (chunk_name == png_fdAT)
++ png_handle_fdAT(png_ptr, info_ptr, length);
++#endif
++
+ else
+ png_handle_unknown(png_ptr, info_ptr, length,
+ PNG_HANDLE_CHUNK_AS_DEFAULT);
+@@ -262,6 +276,72 @@
+ }
+ #endif /* SEQUENTIAL_READ */
+
++#ifdef PNG_READ_APNG_SUPPORTED
++void PNGAPI
++png_read_frame_head(png_structp png_ptr, png_infop info_ptr)
++{
++ png_byte have_chunk_after_DAT; /* after IDAT or after fdAT */
++
++ png_debug(0, "Reading frame head");
++
++ if (!(png_ptr->mode & PNG_HAVE_acTL))
++ png_error(png_ptr, "attempt to png_read_frame_head() but "
++ "no acTL present");
++
++ /* do nothing for the main IDAT */
++ if (png_ptr->num_frames_read == 0)
++ return;
++
++ png_read_reset(png_ptr);
++ png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
++ png_ptr->mode &= ~PNG_HAVE_fcTL;
++
++ have_chunk_after_DAT = 0;
++ for (;;)
++ {
++ png_uint_32 length = png_read_chunk_header(png_ptr);
++
++ if (png_ptr->chunk_name == png_IDAT)
++ {
++ /* discard trailing IDATs for the first frame */
++ if (have_chunk_after_DAT || png_ptr->num_frames_read > 1)
++ png_error(png_ptr, "png_read_frame_head(): out of place IDAT");
++ png_crc_finish(png_ptr, length);
++ }
++
++ else if (png_ptr->chunk_name == png_fcTL)
++ {
++ png_handle_fcTL(png_ptr, info_ptr, length);
++ have_chunk_after_DAT = 1;
++ }
++
++ else if (png_ptr->chunk_name == png_fdAT)
++ {
++ png_ensure_sequence_number(png_ptr, length);
++
++ /* discard trailing fdATs for frames other than the first */
++ if (!have_chunk_after_DAT && png_ptr->num_frames_read > 1)
++ png_crc_finish(png_ptr, length - 4);
++ else if(png_ptr->mode & PNG_HAVE_fcTL)
++ {
++ png_ptr->idat_size = length - 4;
++ png_ptr->mode |= PNG_HAVE_IDAT;
++
++ break;
++ }
++ else
++ png_error(png_ptr, "png_read_frame_head(): out of place fdAT");
++ }
++ else
++ {
++ png_warning(png_ptr, "Skipped (ignored) a chunk "
++ "between APNG chunks");
++ png_crc_finish(png_ptr, length);
++ }
++ }
++}
++#endif /* PNG_READ_APNG_SUPPORTED */
++
+ /* Optional call to update the users info_ptr structure */
+ void PNGAPI
+ png_read_update_info(png_structrp png_ptr, png_inforp info_ptr)
+diff -Naru libpng-1.6.39.org/pngrutil.c libpng-1.6.39/pngrutil.c
+--- libpng-1.6.39.org/pngrutil.c 2022-11-24 08:37:51.510052177 +0900
++++ libpng-1.6.39/pngrutil.c 2022-11-24 08:41:17.787489734 +0900
+@@ -864,6 +864,11 @@
+ filter_type = buf[11];
+ interlace_type = buf[12];
+
++#ifdef PNG_READ_APNG_SUPPORTED
++ png_ptr->first_frame_width = width;
++ png_ptr->first_frame_height = height;
++#endif
++
+ /* Set internal variables */
+ png_ptr->width = width;
+ png_ptr->height = height;
+@@ -2858,6 +2863,179 @@
+ }
+ #endif
+
++#ifdef PNG_READ_APNG_SUPPORTED
++void /* PRIVATE */
++png_handle_acTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
++{
++ png_byte data[8];
++ png_uint_32 num_frames;
++ png_uint_32 num_plays;
++ png_uint_32 didSet;
++
++ png_debug(1, "in png_handle_acTL");
++
++ if (!(png_ptr->mode & PNG_HAVE_IHDR))
++ {
++ png_error(png_ptr, "Missing IHDR before acTL");
++ }
++ else if (png_ptr->mode & PNG_HAVE_IDAT)
++ {
++ png_warning(png_ptr, "Invalid acTL after IDAT skipped");
++ png_crc_finish(png_ptr, length);
++ return;
++ }
++ else if (png_ptr->mode & PNG_HAVE_acTL)
++ {
++ png_warning(png_ptr, "Duplicate acTL skipped");
++ png_crc_finish(png_ptr, length);
++ return;
++ }
++ else if (length != 8)
++ {
++ png_warning(png_ptr, "acTL with invalid length skipped");
++ png_crc_finish(png_ptr, length);
++ return;
++ }
++
++ png_crc_read(png_ptr, data, 8);
++ png_crc_finish(png_ptr, 0);
++
++ num_frames = png_get_uint_31(png_ptr, data);
++ num_plays = png_get_uint_31(png_ptr, data + 4);
++
++ /* the set function will do error checking on num_frames */
++ didSet = png_set_acTL(png_ptr, info_ptr, num_frames, num_plays);
++ if(didSet)
++ png_ptr->mode |= PNG_HAVE_acTL;
++}
++
++void /* PRIVATE */
++png_handle_fcTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
++{
++ png_byte data[22];
++ png_uint_32 width;
++ png_uint_32 height;
++ png_uint_32 x_offset;
++ png_uint_32 y_offset;
++ png_uint_16 delay_num;
++ png_uint_16 delay_den;
++ png_byte dispose_op;
++ png_byte blend_op;
++
++ png_debug(1, "in png_handle_fcTL");
++
++ png_ensure_sequence_number(png_ptr, length);
++
++ if (!(png_ptr->mode & PNG_HAVE_IHDR))
++ {
++ png_error(png_ptr, "Missing IHDR before fcTL");
++ }
++ else if (png_ptr->mode & PNG_HAVE_IDAT)
++ {
++ /* for any frames other then the first this message may be misleading,
++ * but correct. PNG_HAVE_IDAT is unset before the frame head is read
++ * i can't think of a better message */
++ png_warning(png_ptr, "Invalid fcTL after IDAT skipped");
++ png_crc_finish(png_ptr, length-4);
++ return;
++ }
++ else if (png_ptr->mode & PNG_HAVE_fcTL)
++ {
++ png_warning(png_ptr, "Duplicate fcTL within one frame skipped");
++ png_crc_finish(png_ptr, length-4);
++ return;
++ }
++ else if (length != 26)
++ {
++ png_warning(png_ptr, "fcTL with invalid length skipped");
++ png_crc_finish(png_ptr, length-4);
++ return;
++ }
++
++ png_crc_read(png_ptr, data, 22);
++ png_crc_finish(png_ptr, 0);
++
++ width = png_get_uint_31(png_ptr, data);
++ height = png_get_uint_31(png_ptr, data + 4);
++ x_offset = png_get_uint_31(png_ptr, data + 8);
++ y_offset = png_get_uint_31(png_ptr, data + 12);
++ delay_num = png_get_uint_16(data + 16);
++ delay_den = png_get_uint_16(data + 18);
++ dispose_op = data[20];
++ blend_op = data[21];
++
++ if (png_ptr->num_frames_read == 0 && (x_offset != 0 || y_offset != 0))
++ {
++ png_warning(png_ptr, "fcTL for the first frame must have zero offset");
++ return;
++ }
++
++ if (info_ptr != NULL)
++ {
++ if (png_ptr->num_frames_read == 0 &&
++ (width != info_ptr->width || height != info_ptr->height))
++ {
++ png_warning(png_ptr, "size in first frame's fcTL must match "
++ "the size in IHDR");
++ return;
++ }
++
++ /* The set function will do more error checking */
++ png_set_next_frame_fcTL(png_ptr, info_ptr, width, height,
++ x_offset, y_offset, delay_num, delay_den,
++ dispose_op, blend_op);
++
++ png_read_reinit(png_ptr, info_ptr);
++
++ png_ptr->mode |= PNG_HAVE_fcTL;
++ }
++}
++
++void /* PRIVATE */
++png_have_info(png_structp png_ptr, png_infop info_ptr)
++{
++ if((info_ptr->valid & PNG_INFO_acTL) && !(info_ptr->valid & PNG_INFO_fcTL))
++ {
++ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN;
++ info_ptr->num_frames++;
++ }
++}
++
++void /* PRIVATE */
++png_handle_fdAT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
++{
++ png_ensure_sequence_number(png_ptr, length);
++
++ /* This function is only called from png_read_end(), png_read_info(),
++ * and png_push_read_chunk() which means that:
++ * - the user doesn't want to read this frame
++ * - or this is an out-of-place fdAT
++ * in either case it is safe to ignore the chunk with a warning */
++ png_warning(png_ptr, "ignoring fdAT chunk");
++ png_crc_finish(png_ptr, length - 4);
++ PNG_UNUSED(info_ptr)
++}
++
++void /* PRIVATE */
++png_ensure_sequence_number(png_structp png_ptr, png_uint_32 length)
++{
++ png_byte data[4];
++ png_uint_32 sequence_number;
++
++ if (length < 4)
++ png_error(png_ptr, "invalid fcTL or fdAT chunk found");
++
++ png_crc_read(png_ptr, data, 4);
++ sequence_number = png_get_uint_31(png_ptr, data);
++
++ if (sequence_number != png_ptr->next_seq_num)
++ png_error(png_ptr, "fcTL or fdAT chunk with out-of-order sequence "
++ "number found");
++
++ png_ptr->next_seq_num++;
++}
++#endif /* PNG_READ_APNG_SUPPORTED */
++
+ #ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
+ /* Utility function for png_handle_unknown; set up png_ptr::unknown_chunk */
+ static int
+@@ -4166,7 +4344,38 @@
+ {
+ uInt avail_in;
+ png_bytep buffer;
++#ifdef PNG_READ_APNG_SUPPORTED
++ png_uint_32 bytes_to_skip = 0;
++
++ while (png_ptr->idat_size == 0 || bytes_to_skip != 0)
++ {
++ png_crc_finish(png_ptr, bytes_to_skip);
++ bytes_to_skip = 0;
+
++ png_ptr->idat_size = png_read_chunk_header(png_ptr);
++ if (png_ptr->num_frames_read == 0)
++ {
++ if (png_ptr->chunk_name != png_IDAT)
++ png_error(png_ptr, "Not enough image data");
++ }
++ else
++ {
++ if (png_ptr->chunk_name == png_IEND)
++ png_error(png_ptr, "Not enough image data");
++ if (png_ptr->chunk_name != png_fdAT)
++ {
++ png_warning(png_ptr, "Skipped (ignored) a chunk "
++ "between APNG chunks");
++ bytes_to_skip = png_ptr->idat_size;
++ continue;
++ }
++
++ png_ensure_sequence_number(png_ptr, png_ptr->idat_size);
++
++ png_ptr->idat_size -= 4;
++ }
++ }
++#else
+ while (png_ptr->idat_size == 0)
+ {
+ png_crc_finish(png_ptr, 0);
+@@ -4178,7 +4387,7 @@
+ if (png_ptr->chunk_name != png_IDAT)
+ png_error(png_ptr, "Not enough image data");
+ }
+-
++#endif /* PNG_READ_APNG_SUPPORTED */
+ avail_in = png_ptr->IDAT_read_size;
+
+ if (avail_in > png_ptr->idat_size)
+@@ -4241,6 +4450,9 @@
+
+ png_ptr->mode |= PNG_AFTER_IDAT;
+ png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED;
++#ifdef PNG_READ_APNG_SUPPORTED
++ png_ptr->num_frames_read++;
++#endif
+
+ if (png_ptr->zstream.avail_in > 0 || png_ptr->idat_size > 0)
+ png_chunk_benign_error(png_ptr, "Extra compressed data");
+@@ -4678,4 +4890,80 @@
+
+ png_ptr->flags |= PNG_FLAG_ROW_INIT;
+ }
++
++#ifdef PNG_READ_APNG_SUPPORTED
++/* This function is to be called after the main IDAT set has been read and
++ * before a new IDAT is read. It resets some parts of png_ptr
++ * to make them usable by the read functions again */
++void /* PRIVATE */
++png_read_reset(png_structp png_ptr)
++{
++ png_ptr->mode &= ~PNG_HAVE_IDAT;
++ png_ptr->mode &= ~PNG_AFTER_IDAT;
++ png_ptr->row_number = 0;
++ png_ptr->pass = 0;
++}
++
++void /* PRIVATE */
++png_read_reinit(png_structp png_ptr, png_infop info_ptr)
++{
++ png_ptr->width = info_ptr->next_frame_width;
++ png_ptr->height = info_ptr->next_frame_height;
++ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->width);
++ png_ptr->info_rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth,
++ png_ptr->width);
++ if (png_ptr->prev_row)
++ memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
++}
++
++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
++/* same as png_read_reset() but for the progressive reader */
++void /* PRIVATE */
++png_progressive_read_reset(png_structp png_ptr)
++{
++#ifdef PNG_READ_INTERLACING_SUPPORTED
++ /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
++
++ /* Start of interlace block */
++ const int png_pass_start[] = {0, 4, 0, 2, 0, 1, 0};
++
++ /* Offset to next interlace block */
++ const int png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1};
++
++ /* Start of interlace block in the y direction */
++ const int png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1};
++
++ /* Offset to next interlace block in the y direction */
++ const int png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
++
++ if (png_ptr->interlaced)
++ {
++ if (!(png_ptr->transformations & PNG_INTERLACE))
++ png_ptr->num_rows = (png_ptr->height + png_pass_yinc[0] - 1 -
++ png_pass_ystart[0]) / png_pass_yinc[0];
++ else
++ png_ptr->num_rows = png_ptr->height;
++
++ png_ptr->iwidth = (png_ptr->width +
++ png_pass_inc[png_ptr->pass] - 1 -
++ png_pass_start[png_ptr->pass]) /
++ png_pass_inc[png_ptr->pass];
++ }
++ else
++#endif /* PNG_READ_INTERLACING_SUPPORTED */
++ {
++ png_ptr->num_rows = png_ptr->height;
++ png_ptr->iwidth = png_ptr->width;
++ }
++ png_ptr->flags &= ~PNG_FLAG_ZSTREAM_ENDED;
++ if (inflateReset(&(png_ptr->zstream)) != Z_OK)
++ png_error(png_ptr, "inflateReset failed");
++ png_ptr->zstream.avail_in = 0;
++ png_ptr->zstream.next_in = 0;
++ png_ptr->zstream.next_out = png_ptr->row_buf;
++ png_ptr->zstream.avail_out = (uInt)PNG_ROWBYTES(png_ptr->pixel_depth,
++ png_ptr->iwidth) + 1;
++}
++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
++#endif /* PNG_READ_APNG_SUPPORTED */
+ #endif /* READ */
+diff -Naru libpng-1.6.39.org/pngset.c libpng-1.6.39/pngset.c
+--- libpng-1.6.39.org/pngset.c 2022-11-24 08:37:51.510052177 +0900
++++ libpng-1.6.39/pngset.c 2022-11-24 08:41:17.787489734 +0900
+@@ -288,6 +288,11 @@
+ info_ptr->pixel_depth = (png_byte)(info_ptr->channels * info_ptr->bit_depth);
+
+ info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, width);
++
++#ifdef PNG_APNG_SUPPORTED
++ /* for non-animated png. this may be overwritten from an acTL chunk later */
++ info_ptr->num_frames = 1;
++#endif
+ }
+
+ #ifdef PNG_oFFs_SUPPORTED
+@@ -1161,6 +1166,147 @@
+ }
+ #endif /* sPLT */
+
++#ifdef PNG_APNG_SUPPORTED
++png_uint_32 PNGAPI
++png_set_acTL(png_structp png_ptr, png_infop info_ptr,
++ png_uint_32 num_frames, png_uint_32 num_plays)
++{
++ png_debug1(1, "in %s storage function", "acTL");
++
++ if (png_ptr == NULL || info_ptr == NULL)
++ {
++ png_warning(png_ptr,
++ "Call to png_set_acTL() with NULL png_ptr "
++ "or info_ptr ignored");
++ return (0);
++ }
++ if (num_frames == 0)
++ {
++ png_warning(png_ptr,
++ "Ignoring attempt to set acTL with num_frames zero");
++ return (0);
++ }
++ if (num_frames > PNG_UINT_31_MAX)
++ {
++ png_warning(png_ptr,
++ "Ignoring attempt to set acTL with num_frames > 2^31-1");
++ return (0);
++ }
++ if (num_plays > PNG_UINT_31_MAX)
++ {
++ png_warning(png_ptr,
++ "Ignoring attempt to set acTL with num_plays "
++ "> 2^31-1");
++ return (0);
++ }
++
++ info_ptr->num_frames = num_frames;
++ info_ptr->num_plays = num_plays;
++
++ info_ptr->valid |= PNG_INFO_acTL;
++
++ return (1);
++}
++
++/* delay_num and delay_den can hold any 16-bit values including zero */
++png_uint_32 PNGAPI
++png_set_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr,
++ png_uint_32 width, png_uint_32 height,
++ png_uint_32 x_offset, png_uint_32 y_offset,
++ png_uint_16 delay_num, png_uint_16 delay_den,
++ png_byte dispose_op, png_byte blend_op)
++{
++ png_debug1(1, "in %s storage function", "fcTL");
++
++ if (png_ptr == NULL || info_ptr == NULL)
++ {
++ png_warning(png_ptr,
++ "Call to png_set_fcTL() with NULL png_ptr or info_ptr "
++ "ignored");
++ return (0);
++ }
++
++ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset,
++ delay_num, delay_den, dispose_op, blend_op);
++
++ if (blend_op == PNG_BLEND_OP_OVER)
++ {
++ if (!(png_ptr->color_type & PNG_COLOR_MASK_ALPHA) &&
++ !(png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)))
++ {
++ png_warning(png_ptr, "PNG_BLEND_OP_OVER is meaningless "
++ "and wasteful for opaque images, ignored");
++ blend_op = PNG_BLEND_OP_SOURCE;
++ }
++ }
++
++ info_ptr->next_frame_width = width;
++ info_ptr->next_frame_height = height;
++ info_ptr->next_frame_x_offset = x_offset;
++ info_ptr->next_frame_y_offset = y_offset;
++ info_ptr->next_frame_delay_num = delay_num;
++ info_ptr->next_frame_delay_den = delay_den;
++ info_ptr->next_frame_dispose_op = dispose_op;
++ info_ptr->next_frame_blend_op = blend_op;
++
++ info_ptr->valid |= PNG_INFO_fcTL;
++
++ return (1);
++}
++
++void /* PRIVATE */
++png_ensure_fcTL_is_valid(png_structp png_ptr,
++ png_uint_32 width, png_uint_32 height,
++ png_uint_32 x_offset, png_uint_32 y_offset,
++ png_uint_16 delay_num, png_uint_16 delay_den,
++ png_byte dispose_op, png_byte blend_op)
++{
++ if (width == 0 || width > PNG_UINT_31_MAX)
++ png_error(png_ptr, "invalid width in fcTL (> 2^31-1)");
++ if (height == 0 || height > PNG_UINT_31_MAX)
++ png_error(png_ptr, "invalid height in fcTL (> 2^31-1)");
++ if (x_offset > PNG_UINT_31_MAX)
++ png_error(png_ptr, "invalid x_offset in fcTL (> 2^31-1)");
++ if (y_offset > PNG_UINT_31_MAX)
++ png_error(png_ptr, "invalid y_offset in fcTL (> 2^31-1)");
++ if (width + x_offset > png_ptr->first_frame_width ||
++ height + y_offset > png_ptr->first_frame_height)
++ png_error(png_ptr, "dimensions of a frame are greater than"
++ "the ones in IHDR");
++
++ if (dispose_op != PNG_DISPOSE_OP_NONE &&
++ dispose_op != PNG_DISPOSE_OP_BACKGROUND &&
++ dispose_op != PNG_DISPOSE_OP_PREVIOUS)
++ png_error(png_ptr, "invalid dispose_op in fcTL");
++
++ if (blend_op != PNG_BLEND_OP_SOURCE &&
++ blend_op != PNG_BLEND_OP_OVER)
++ png_error(png_ptr, "invalid blend_op in fcTL");
++
++ PNG_UNUSED(delay_num)
++ PNG_UNUSED(delay_den)
++}
++
++png_uint_32 PNGAPI
++png_set_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr,
++ png_byte is_hidden)
++{
++ png_debug(1, "in png_first_frame_is_hidden()");
++
++ if (png_ptr == NULL)
++ return 0;
++
++ if (is_hidden)
++ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN;
++ else
++ png_ptr->apng_flags &= ~PNG_FIRST_FRAME_HIDDEN;
++
++ PNG_UNUSED(info_ptr)
++
++ return 1;
++}
++#endif /* PNG_APNG_SUPPORTED */
++
+ #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED
+ static png_byte
+ check_location(png_const_structrp png_ptr, int location)
+diff -Naru libpng-1.6.39.org/pngstruct.h libpng-1.6.39/pngstruct.h
+--- libpng-1.6.39.org/pngstruct.h 2022-11-24 08:37:51.510052177 +0900
++++ libpng-1.6.39/pngstruct.h 2022-11-24 08:41:17.787489734 +0900
+@@ -399,6 +399,27 @@
+ png_byte filter_type;
+ #endif
+
++#ifdef PNG_APNG_SUPPORTED
++ png_uint_32 apng_flags;
++ png_uint_32 next_seq_num; /* next fcTL/fdAT chunk sequence number */
++ png_uint_32 first_frame_width;
++ png_uint_32 first_frame_height;
++
++#ifdef PNG_READ_APNG_SUPPORTED
++ png_uint_32 num_frames_read; /* incremented after all image data of */
++ /* a frame is read */
++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
++ png_progressive_frame_ptr frame_info_fn; /* frame info read callback */
++ png_progressive_frame_ptr frame_end_fn; /* frame data read callback */
++#endif
++#endif
++
++#ifdef PNG_WRITE_APNG_SUPPORTED
++ png_uint_32 num_frames_to_write;
++ png_uint_32 num_frames_written;
++#endif
++#endif /* PNG_APNG_SUPPORTED */
++
+ /* New members added in libpng-1.2.0 */
+
+ /* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
+diff -Naru libpng-1.6.39.org/pngtest.c libpng-1.6.39/pngtest.c
+--- libpng-1.6.39.org/pngtest.c 2022-11-24 08:37:51.510052177 +0900
++++ libpng-1.6.39/pngtest.c 2022-11-24 08:41:17.787489734 +0900
+@@ -875,6 +875,10 @@
+ volatile int num_passes;
+ int pass;
+ int bit_depth, color_type;
++#ifdef PNG_APNG_SUPPORTED
++ png_uint_32 num_frames;
++ png_uint_32 num_plays;
++#endif
+
+ row_buf = NULL;
+ error_parameters.file_name = inname;
+@@ -1383,6 +1387,22 @@
+ }
+ }
+ #endif
++
++#ifdef PNG_APNG_SUPPORTED
++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL))
++ {
++ if (png_get_acTL(read_ptr, read_info_ptr, &num_frames, &num_plays))
++ {
++ png_byte is_hidden;
++ pngtest_debug2("Handling acTL chunks (frames %ld, plays %ld)",
++ num_frames, num_plays);
++ png_set_acTL(write_ptr, write_info_ptr, num_frames, num_plays);
++ is_hidden = png_get_first_frame_is_hidden(read_ptr, read_info_ptr);
++ png_set_first_frame_is_hidden(write_ptr, write_info_ptr, is_hidden);
++ }
++ }
++#endif
++
+ #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
+ {
+ png_unknown_chunkp unknowns;
+@@ -1463,6 +1483,110 @@
+ t_misc += (t_stop - t_start);
+ t_start = t_stop;
+ #endif
++#ifdef PNG_APNG_SUPPORTED
++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL))
++ {
++ png_uint_32 frame;
++ for (frame = 0; frame < num_frames; frame++)
++ {
++ png_uint_32 frame_width;
++ png_uint_32 frame_height;
++ png_uint_32 x_offset;
++ png_uint_32 y_offset;
++ png_uint_16 delay_num;
++ png_uint_16 delay_den;
++ png_byte dispose_op;
++ png_byte blend_op;
++ png_read_frame_head(read_ptr, read_info_ptr);
++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_fcTL))
++ {
++ png_get_next_frame_fcTL(read_ptr, read_info_ptr,
++ &frame_width, &frame_height,
++ &x_offset, &y_offset,
++ &delay_num, &delay_den,
++ &dispose_op, &blend_op);
++ }
++ else
++ {
++ frame_width = width;
++ frame_height = height;
++ x_offset = 0;
++ y_offset = 0;
++ delay_num = 1;
++ delay_den = 1;
++ dispose_op = PNG_DISPOSE_OP_NONE;
++ blend_op = PNG_BLEND_OP_SOURCE;
++ }
++#ifdef PNG_WRITE_APNG_SUPPORTED
++ png_write_frame_head(write_ptr, write_info_ptr, (png_bytepp)&row_buf,
++ frame_width, frame_height,
++ x_offset, y_offset,
++ delay_num, delay_den,
++ dispose_op, blend_op);
++#endif
++ for (pass = 0; pass < num_passes; pass++)
++ {
++# ifdef calc_pass_height
++ png_uint_32 pass_height;
++
++ if (num_passes == 7) /* interlaced */
++ {
++ if (PNG_PASS_COLS(frame_width, pass) > 0)
++ pass_height = PNG_PASS_ROWS(frame_height, pass);
++
++ else
++ pass_height = 0;
++ }
++
++ else /* not interlaced */
++ pass_height = frame_height;
++# else
++# define pass_height frame_height
++# endif
++
++ pngtest_debug1("Writing row data for pass %d", pass);
++ for (y = 0; y < pass_height; y++)
++ {
++#ifndef SINGLE_ROWBUF_ALLOC
++ pngtest_debug2("Allocating row buffer (pass %d, y = %u)...", pass, y);
++
++ row_buf = (png_bytep)png_malloc(read_ptr,
++ png_get_rowbytes(read_ptr, read_info_ptr));
++
++ pngtest_debug2("\t0x%08lx (%lu bytes)", (unsigned long)row_buf,
++ (unsigned long)png_get_rowbytes(read_ptr, read_info_ptr));
++
++#endif /* !SINGLE_ROWBUF_ALLOC */
++ png_read_rows(read_ptr, (png_bytepp)&row_buf, NULL, 1);
++
++#ifdef PNG_WRITE_SUPPORTED
++#ifdef PNGTEST_TIMING
++ t_stop = (float)clock();
++ t_decode += (t_stop - t_start);
++ t_start = t_stop;
++#endif
++ png_write_rows(write_ptr, (png_bytepp)&row_buf, 1);
++#ifdef PNGTEST_TIMING
++ t_stop = (float)clock();
++ t_encode += (t_stop - t_start);
++ t_start = t_stop;
++#endif
++#endif /* PNG_WRITE_SUPPORTED */
++
++#ifndef SINGLE_ROWBUF_ALLOC
++ pngtest_debug2("Freeing row buffer (pass %d, y = %u)", pass, y);
++ png_free(read_ptr, row_buf);
++ row_buf = NULL;
++#endif /* !SINGLE_ROWBUF_ALLOC */
++ }
++ }
++#ifdef PNG_WRITE_APNG_SUPPORTED
++ png_write_frame_tail(write_ptr, write_info_ptr);
++#endif
++ }
++ }
++ else
++#endif
+ for (pass = 0; pass < num_passes; pass++)
+ {
+ # ifdef calc_pass_height
+diff -Naru libpng-1.6.39.org/pngwrite.c libpng-1.6.39/pngwrite.c
+--- libpng-1.6.39.org/pngwrite.c 2022-11-24 08:37:51.511052176 +0900
++++ libpng-1.6.39/pngwrite.c 2022-11-24 08:41:17.787489734 +0900
+@@ -128,6 +128,10 @@
+ * the application continues writing the PNG. So check the 'invalid'
+ * flag here too.
+ */
++#ifdef PNG_WRITE_APNG_SUPPORTED
++ if (info_ptr->valid & PNG_INFO_acTL)
++ png_write_acTL(png_ptr, info_ptr->num_frames, info_ptr->num_plays);
++#endif
+ #ifdef PNG_GAMMA_SUPPORTED
+ # ifdef PNG_WRITE_gAMA_SUPPORTED
+ if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 &&
+@@ -370,6 +374,11 @@
+ png_benign_error(png_ptr, "Wrote palette index exceeding num_palette");
+ #endif
+
++#ifdef PNG_WRITE_APNG_SUPPORTED
++ if (png_ptr->num_frames_written != png_ptr->num_frames_to_write)
++ png_error(png_ptr, "Not enough frames written");
++#endif
++
+ /* See if user wants us to write information chunks */
+ if (info_ptr != NULL)
+ {
+@@ -1471,6 +1480,43 @@
+ }
+ #endif
+
++#ifdef PNG_WRITE_APNG_SUPPORTED
++void PNGAPI
++png_write_frame_head(png_structp png_ptr, png_infop info_ptr,
++ png_bytepp row_pointers, png_uint_32 width, png_uint_32 height,
++ png_uint_32 x_offset, png_uint_32 y_offset,
++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
++ png_byte blend_op)
++{
++ png_debug(1, "in png_write_frame_head");
++
++ /* there is a chance this has been set after png_write_info was called,
++ * so it would be set but not written. is there a way to be sure? */
++ if (!(info_ptr->valid & PNG_INFO_acTL))
++ png_error(png_ptr, "png_write_frame_head(): acTL not set");
++
++ png_write_reset(png_ptr);
++
++ png_write_reinit(png_ptr, info_ptr, width, height);
++
++ if ( !(png_ptr->num_frames_written == 0 &&
++ (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN) ) )
++ png_write_fcTL(png_ptr, width, height, x_offset, y_offset,
++ delay_num, delay_den, dispose_op, blend_op);
++
++ PNG_UNUSED(row_pointers)
++}
++
++void PNGAPI
++png_write_frame_tail(png_structp png_ptr, png_infop info_ptr)
++{
++ png_debug(1, "in png_write_frame_tail");
++
++ png_ptr->num_frames_written++;
++
++ PNG_UNUSED(info_ptr)
++}
++#endif /* PNG_WRITE_APNG_SUPPORTED */
+
+ #ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED
+ /* Initialize the write structure - general purpose utility. */
+diff -Naru libpng-1.6.39.org/pngwutil.c libpng-1.6.39/pngwutil.c
+--- libpng-1.6.39.org/pngwutil.c 2022-11-24 08:37:51.511052176 +0900
++++ libpng-1.6.39/pngwutil.c 2022-11-24 08:41:17.788489731 +0900
+@@ -821,6 +821,11 @@
+ /* Write the chunk */
+ png_write_complete_chunk(png_ptr, png_IHDR, buf, 13);
+
++#ifdef PNG_WRITE_APNG_SUPPORTED
++ png_ptr->first_frame_width = width;
++ png_ptr->first_frame_height = height;
++#endif
++
+ if ((png_ptr->do_filter) == PNG_NO_FILTERS)
+ {
+ if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE ||
+@@ -1002,8 +1007,17 @@
+ optimize_cmf(data, png_image_size(png_ptr));
+ #endif
+
+- if (size > 0)
+- png_write_complete_chunk(png_ptr, png_IDAT, data, size);
++ if (size > 0)
++#ifdef PNG_WRITE_APNG_SUPPORTED
++ {
++ if (png_ptr->num_frames_written == 0)
++#endif
++ png_write_complete_chunk(png_ptr, png_IDAT, data, size);
++#ifdef PNG_WRITE_APNG_SUPPORTED
++ else
++ png_write_fdAT(png_ptr, data, size);
++ }
++#endif /* PNG_WRITE_APNG_SUPPORTED */
+ png_ptr->mode |= PNG_HAVE_IDAT;
+
+ png_ptr->zstream.next_out = data;
+@@ -1050,7 +1064,17 @@
+ #endif
+
+ if (size > 0)
++#ifdef PNG_WRITE_APNG_SUPPORTED
++ {
++ if (png_ptr->num_frames_written == 0)
++#endif
+ png_write_complete_chunk(png_ptr, png_IDAT, data, size);
++#ifdef PNG_WRITE_APNG_SUPPORTED
++ else
++ png_write_fdAT(png_ptr, data, size);
++ }
++#endif /* PNG_WRITE_APNG_SUPPORTED */
++
+ png_ptr->zstream.avail_out = 0;
+ png_ptr->zstream.next_out = NULL;
+ png_ptr->mode |= PNG_HAVE_IDAT | PNG_AFTER_IDAT;
+@@ -1885,6 +1909,82 @@
+ }
+ #endif
+
++#ifdef PNG_WRITE_APNG_SUPPORTED
++void /* PRIVATE */
++png_write_acTL(png_structp png_ptr,
++ png_uint_32 num_frames, png_uint_32 num_plays)
++{
++ png_byte buf[8];
++
++ png_debug(1, "in png_write_acTL");
++
++ png_ptr->num_frames_to_write = num_frames;
++
++ if (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN)
++ num_frames--;
++
++ png_save_uint_32(buf, num_frames);
++ png_save_uint_32(buf + 4, num_plays);
++
++ png_write_complete_chunk(png_ptr, png_acTL, buf, (png_size_t)8);
++}
++
++void /* PRIVATE */
++png_write_fcTL(png_structp png_ptr, png_uint_32 width, png_uint_32 height,
++ png_uint_32 x_offset, png_uint_32 y_offset,
++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
++ png_byte blend_op)
++{
++ png_byte buf[26];
++
++ png_debug(1, "in png_write_fcTL");
++
++ if (png_ptr->num_frames_written == 0 && (x_offset != 0 || y_offset != 0))
++ png_error(png_ptr, "x and/or y offset for the first frame aren't 0");
++ if (png_ptr->num_frames_written == 0 &&
++ (width != png_ptr->first_frame_width ||
++ height != png_ptr->first_frame_height))
++ png_error(png_ptr, "width and/or height in the first frame's fcTL "
++ "don't match the ones in IHDR");
++
++ /* more error checking */
++ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset,
++ delay_num, delay_den, dispose_op, blend_op);
++
++ png_save_uint_32(buf, png_ptr->next_seq_num);
++ png_save_uint_32(buf + 4, width);
++ png_save_uint_32(buf + 8, height);
++ png_save_uint_32(buf + 12, x_offset);
++ png_save_uint_32(buf + 16, y_offset);
++ png_save_uint_16(buf + 20, delay_num);
++ png_save_uint_16(buf + 22, delay_den);
++ buf[24] = dispose_op;
++ buf[25] = blend_op;
++
++ png_write_complete_chunk(png_ptr, png_fcTL, buf, (png_size_t)26);
++
++ png_ptr->next_seq_num++;
++}
++
++void /* PRIVATE */
++png_write_fdAT(png_structp png_ptr,
++ png_const_bytep data, png_size_t length)
++{
++ png_byte buf[4];
++
++ png_write_chunk_header(png_ptr, png_fdAT, (png_uint_32)(4 + length));
++
++ png_save_uint_32(buf, png_ptr->next_seq_num);
++ png_write_chunk_data(png_ptr, buf, 4);
++
++ png_write_chunk_data(png_ptr, data, length);
++
++ png_write_chunk_end(png_ptr);
++
++ png_ptr->next_seq_num++;
++}
++#endif /* PNG_WRITE_APNG_SUPPORTED */
++
+ /* Initializes the row writing capability of libpng */
+ void /* PRIVATE */
+ png_write_start_row(png_structrp png_ptr)
+@@ -2778,4 +2878,39 @@
+ }
+ #endif /* WRITE_FLUSH */
+ }
++
++#ifdef PNG_WRITE_APNG_SUPPORTED
++void /* PRIVATE */
++png_write_reset(png_structp png_ptr)
++{
++ png_ptr->row_number = 0;
++ png_ptr->pass = 0;
++ png_ptr->mode &= ~PNG_HAVE_IDAT;
++}
++
++void /* PRIVATE */
++png_write_reinit(png_structp png_ptr, png_infop info_ptr,
++ png_uint_32 width, png_uint_32 height)
++{
++ if (png_ptr->num_frames_written == 0 &&
++ (width != png_ptr->first_frame_width ||
++ height != png_ptr->first_frame_height))
++ png_error(png_ptr, "width and/or height in the first frame's fcTL "
++ "don't match the ones in IHDR");
++ if (width > png_ptr->first_frame_width ||
++ height > png_ptr->first_frame_height)
++ png_error(png_ptr, "width and/or height for a frame greater than"
++ "the ones in IHDR");
++
++ png_set_IHDR(png_ptr, info_ptr, width, height,
++ info_ptr->bit_depth, info_ptr->color_type,
++ info_ptr->interlace_type, info_ptr->compression_type,
++ info_ptr->filter_type);
++
++ png_ptr->width = width;
++ png_ptr->height = height;
++ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, width);
++ png_ptr->usr_width = png_ptr->width;
++}
++#endif /* PNG_WRITE_APNG_SUPPORTED */
+ #endif /* WRITE */
+diff -Naru libpng-1.6.39.org/scripts/symbols.def libpng-1.6.39/scripts/symbols.def
+--- libpng-1.6.39.org/scripts/symbols.def 2022-11-24 08:37:51.515052168 +0900
++++ libpng-1.6.39/scripts/symbols.def 2022-11-24 08:41:17.788489731 +0900
+@@ -253,3 +253,23 @@
+ png_set_eXIf @247
+ png_get_eXIf_1 @248
+ png_set_eXIf_1 @249
++ png_get_acTL @250
++ png_set_acTL @251
++ png_get_num_frames @252
++ png_get_num_plays @253
++ png_get_next_frame_fcTL @254
++ png_set_next_frame_fcTL @255
++ png_get_next_frame_width @256
++ png_get_next_frame_height @257
++ png_get_next_frame_x_offset @258
++ png_get_next_frame_y_offset @259
++ png_get_next_frame_delay_num @260
++ png_get_next_frame_delay_den @261
++ png_get_next_frame_dispose_op @262
++ png_get_next_frame_blend_op @263
++ png_get_first_frame_is_hidden @264
++ png_set_first_frame_is_hidden @265
++ png_read_frame_head @266
++ png_set_progressive_frame_fn @267
++ png_write_frame_head @268
++ png_write_frame_tail @269
--- /dev/null
+Description: this patch is needed to strip arch-dep bits and get a multiarch -dev package.
+Index: libpng1.6-1.6.21/scripts/libpng-config-body.in
+===================================================================
+--- libpng1.6-1.6.21.orig/scripts/libpng-config-body.in
++++ libpng1.6-1.6.21/scripts/libpng-config-body.in
+@@ -6,7 +6,7 @@
+ Known values for OPTION are:
+
+ --prefix print libpng prefix
+- --libdir print path to directory containing library
++ --libdir print path to directory containing library (disabled in Debian/Ubuntu)
+ --libs print library linking information
+ --ccopts print compiler options
+ --cppflags print pre-processor flags
+@@ -57,6 +57,8 @@
+ ;;
+
+ --libdir)
++ echo >&1 "$(basename $0): --libdir option is disabled in Debian/Ubuntu"
++ exit 1
+ echo ${libdir}
+ ;;
+
+Index: libpng1.6-1.6.21/libpng-config.in
+===================================================================
+--- libpng1.6-1.6.21.orig/libpng-config.in
++++ libpng1.6-1.6.21/libpng-config.in
+@@ -14,12 +14,13 @@
+ version="@PNGLIB_VERSION@"
+ prefix="@prefix@"
+ exec_prefix="@exec_prefix@"
+-libdir="@libdir@"
++# we disable that to make the -dev package Multi-Arch: same
++libdir=
+ includedir="@includedir@/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@"
+ libs="-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@"
+ all_libs="-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@ @LIBS@"
+ I_opts="-I${includedir}"
+-L_opts="-L${libdir}"
++L_opts=
+ R_opts=""
+ cppflags=""
+ ccopts=""
+@@ -33,7 +34,7 @@
+ Known values for OPTION are:
+
+ --prefix print libpng prefix
+- --libdir print path to directory containing library
++ --libdir print path to directory containing library (disabled in Debian/Ubuntu)
+ --libs print library linking information
+ --ccopts print compiler options
+ --cppflags print pre-processor flags
+@@ -84,6 +85,8 @@
+ ;;
+
+ --libdir)
++ echo >&1 "$(basename $0): --libdir option is disabled in Debian/Ubuntu"
++ exit 1
+ echo ${libdir}
+ ;;
+
--- /dev/null
+libpng-config.patch
+#libpng-1.6.39-apng.patch
--- /dev/null
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+# export DH_VERBOSE=1
+
+export DEB_BUILD_MAINT_OPTIONS := hardening=+all
+export DEB_CFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS)
+export DEB_CXXFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS)
+export DPKG_GENSYMBOLS_CHECK_LEVEL = 4
+CC?=gcc
+
+%:
+ dh $@ --buildsystem=cmake
+
+include /usr/share/dpkg/architecture.mk
+
+ifneq (,$(filter $(DEB_HOST_ARCH_CPU),powerpc ppc64))
+# VSX is an extension of AltiVec, which is not part of the baseline.
+# see https://wiki.debian.org/ArchitectureSpecificsMemo
+override_dh_auto_configure:
+ dh_auto_configure -- -DPNG_POWERPC_VSX=off
+endif
+
+override_dh_auto_configure:
+ dh_auto_configure -- -DPNG_ARM_NEON_OPT=0
+
+override_dh_auto_test:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ dh_auto_test
+ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+ $(CC) $(CFLAGS) $(CPPFLAGS) -Wall -g -O2 -c -o pngtest.o pngtest.c -I obj-$(DEB_HOST_GNU_TYPE)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o pngtest-static -Wall -g -O2 pngtest.o obj-$(DEB_HOST_GNU_TYPE)/libpng16.a -lz -lm
+ ./pngtest-static
+endif
+endif
+
+override_dh_makeshlibs:
+ dh_makeshlibs --add-udeb=libpng16-16-udeb -a
--- /dev/null
+---
+include:
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
--- /dev/null
+3.0 (quilt)
--- /dev/null
+Bug-Database: https://github.com/pnggroup/libpng/issues
+Bug-Submit: https://github.com/pnggroup/libpng/issues/new
+Repository: https://github.com/pnggroup/libpng.git
+Repository-Browse: https://github.com/pnggroup/libpng
--- /dev/null
+# qa.debian.org runs a redirector which allows a simpler form of URL
+# for SourceForge based projects. The format below will automatically
+# be rewritten to use the redirector.
+#opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/;s/_/./g;s/^(\S+-x86\.64)/0.0.$1/;s/^(\S+-i586)/0.0.$1/,pgpsigurlmangle=s/$/.asc/ \
+# http://www.libpng.org/pub/png/libpng.html .*/libpng-(\d\S+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
+#http://sf.net/libpng/libpng-(\d\S+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
+#
+version=4
+opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/libpng-$1\.tar\.gz/ \
+ https://github.com/pnggroup/libpng/tags .*/v?(\d\S+)\.tar\.gz